Discussion of Azure web apps, App Insights, "Azure Functions in the real world", ARM templates, queues, BLOB storage and more. Includes a video demo of AAD-secured Azure Function called from a SharePoint Framework (SPFx) web part with SPO cookie auth.
COB - Azure Functions for Office 365 developersChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about use of Azure Functions to extend Office 365 solutions. Covers Azure Functions fundamentals, adding code to PowerApps/Flow, Site Designs and Site Scripts (and PnP site templating), SPFx and Durable Functions. Also has tips on v1/v2, performance, pricing and how to avoid cold starts.
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
A presentation given at ESPC 2017, discussing common pitfalls in SPFx development. Includes discussion of versioning and dependency issues, code re-use, SPFx component bundles, Office UI Fabric and more.
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien
A presentation I gave at ESPC 2020 (the European SharePoint, Microsoft 365 and Azure Conference) covering simple options for adding AI to Power Apps and Power Automate solutions.
Topics covered include AI costs and different implementation approaches - including Power Apps AI Builder, use of Azure Cognitive Services from code, and use of Azure Cognitive Services in a Flow (Power Automate).
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien
My announcement summary slides from Ignite 2019 (covering Teams, SharePoint, Power Platform and Azure) and also selected roadmap slides from Microsoft.
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien
Covers some key techniques and references for "cloud-friendly" SharePoint development (i.e. suitable for Office 365, or perhaps on-premises SharePoint projects which want to stay cloud compatible or benefit from greater isolation from SharePoint).
Includes detailed coverage on - Remote Event Receivers in Azure, "PowerShell + CSOM" scripts, and Microsoft's AMS samples.
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
A presentation I gave at SharePoint Evolutions 2015. Here, I compare SharePoint apps (now renamed "SharePoint Add-Ins" as of April 2015!) and the newer flavour of app development, Office 365 apps.
It focuses primarily on the perspective of a development team implementing the app - and factors to consider when deciding between the two approaches. However, to do this we must consider end-user and administration aspects, as well as code/development.
Key agenda points:
- Changes in SharePoint development
- Apps, 2 years on..
- SharePoint Add-Ins – a recap
- Office 365 apps - Why did Microsoft introduce these? What do they promise?
- Comparing SharePoint Add-Ins with Office 365 apps - For the end-user, administrator and developer
- Summary
COB ESPC18 - Rich PowerApps with offline supportChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about enterprise PowerApps. Focus areas include how to implement offline support, how to connect to on-premises data, and various tips for performance and management. I also talk about what I find to be the most important PowerApps functions from the list of 150+ that can be used in PowerApps formulas.
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
A presentation I gave at TechEd 2014 (Barcelona) in October 2014. Covers some fundamentals of developing Apps for Office, and shows a sample Word task pane app, which analyzes the current document and searches your SharePoint/Office 365 environment for similar documents. The app also integrates with OneDrive for Business, to allow the user to save links for future reference.
Also, my co-presenter Andrew Salamatov presents some great information and demos around mail apps.
The presentation also covers some common mistakes, and tips and tricks when developing Apps for Office.
COB - Azure Functions for Office 365 developersChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about use of Azure Functions to extend Office 365 solutions. Covers Azure Functions fundamentals, adding code to PowerApps/Flow, Site Designs and Site Scripts (and PnP site templating), SPFx and Durable Functions. Also has tips on v1/v2, performance, pricing and how to avoid cold starts.
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
A presentation given at ESPC 2017, discussing common pitfalls in SPFx development. Includes discussion of versioning and dependency issues, code re-use, SPFx component bundles, Office UI Fabric and more.
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien
A presentation I gave at ESPC 2020 (the European SharePoint, Microsoft 365 and Azure Conference) covering simple options for adding AI to Power Apps and Power Automate solutions.
Topics covered include AI costs and different implementation approaches - including Power Apps AI Builder, use of Azure Cognitive Services from code, and use of Azure Cognitive Services in a Flow (Power Automate).
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien
My announcement summary slides from Ignite 2019 (covering Teams, SharePoint, Power Platform and Azure) and also selected roadmap slides from Microsoft.
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien
Covers some key techniques and references for "cloud-friendly" SharePoint development (i.e. suitable for Office 365, or perhaps on-premises SharePoint projects which want to stay cloud compatible or benefit from greater isolation from SharePoint).
Includes detailed coverage on - Remote Event Receivers in Azure, "PowerShell + CSOM" scripts, and Microsoft's AMS samples.
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
A presentation I gave at SharePoint Evolutions 2015. Here, I compare SharePoint apps (now renamed "SharePoint Add-Ins" as of April 2015!) and the newer flavour of app development, Office 365 apps.
It focuses primarily on the perspective of a development team implementing the app - and factors to consider when deciding between the two approaches. However, to do this we must consider end-user and administration aspects, as well as code/development.
Key agenda points:
- Changes in SharePoint development
- Apps, 2 years on..
- SharePoint Add-Ins – a recap
- Office 365 apps - Why did Microsoft introduce these? What do they promise?
- Comparing SharePoint Add-Ins with Office 365 apps - For the end-user, administrator and developer
- Summary
COB ESPC18 - Rich PowerApps with offline supportChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about enterprise PowerApps. Focus areas include how to implement offline support, how to connect to on-premises data, and various tips for performance and management. I also talk about what I find to be the most important PowerApps functions from the list of 150+ that can be used in PowerApps formulas.
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
A presentation I gave at TechEd 2014 (Barcelona) in October 2014. Covers some fundamentals of developing Apps for Office, and shows a sample Word task pane app, which analyzes the current document and searches your SharePoint/Office 365 environment for similar documents. The app also integrates with OneDrive for Business, to allow the user to save links for future reference.
Also, my co-presenter Andrew Salamatov presents some great information and demos around mail apps.
The presentation also covers some common mistakes, and tips and tricks when developing Apps for Office.
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
Covers the changes Microsoft are making to team sites in Office 365/on-premises SharePoint - in terms of end-user changes, and also the impact on developers. The second half of the deck covers the SharePoint Framework (the new coding framework for developers).
Application Lifecycle Management for Office 365 developmentChris O'Brien
For teams doing cloud-friendly SharePoint or Office 365 development, apps will be a key area of focus - be they SharePoint add-ins or the newer Office 365/Azure AD apps. ASP.NET (typically MVC) is a common platform here, and fortunately ALM and Continuous Integration become MUCH easier - finally, an end to "it’s harder because it's SharePoint!" We'll demonstrate how Visual Studio Online and Azure Web Apps are a winning combination for “continuous deployment”, and also how features such as "Deployment Slots" in Azure can help with dev and test environments, and also the upgrade/push-to-live process. Several demos will ensure you’re covered for developing both SharePoint add-ins and Office 365 apps.
[Jussi Roine] This is literally the best session on serverless, ever. We'll have a figurative look at literally the best invention since Office Clipper guy (I miss him). You'll understand the how, what, why, where and whom and there was one more I think, to literally build solutions, integrations and spamming engines with ease. Make servers not great again!
Do's and don'ts for Office 365 developmentChris O'Brien
A session I gave at the European SharePoint Conference 2015. Abstract: The "rules" of SharePoint development have changed - although MSDN documentation often lags behind, the Office 365 Product Group tell us we're no longer supposed to use custom master pages, WebTemplates or deploy our fields and content types in XML. This means core concepts and guidelines that have been around for 7 or 8 years no longer hold true! Clearly this is a massive change - but do we always need to adhere to these new rules? Or are there times when it's OK to use less-preferred (but still supported) approaches?
In this session we look at the reasons behind Microsoft's change of position, and the associated thinking you need to do in the real world.
In this session you will learn:
1. A discussion of the key changes in developer guidance
2. A technical deep-dive (with demos) into the new approaches Microsoft recommend
3. Consideration of the circumstances where you might choose NOT to adhere to the guidance, and why
[John White, Jason Himmelstein] On premises or in the cloud, rich data visualizations are essential to most business processes an decisions. But frequently, key data may live on premises, although tools like Power BI provide a cloud based surface to view dashboards and reports. Join us for an overview of how to extend on premises data to the cloud and how to integrate cloud-based visualizations back into Microsoft SharePoint on premises. We'll be talking about a wide variety of tools including SQL Server Reporting Services, Power BI, SharePoint (both on-premises and in the cloud), Flow and PowerApps.
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
Describes the new SharePoint development framework, which uses Gulp, node.js, TypeScript, SASS and other modern web technologies. Covers client web parts, modern pages and the canvas, and how to surface your files on a CDN for optimum performance. This intro presentation helps you get started.
[Elio Struyf] We all have these daily tasks that can be automated. Like checking if the backup job of your site completed, or looking how many times a file has been accessed, etc. These kinds of tasks are great to be automated by an Azure Functions. In this session, you will get an overview of what Azure Functions can do for you. With some demos, we go step by step through the creation, debugging and deployment process of these functions.
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Additional information added for the European SharePoint Conference 2014
Presentation on deep dive into developing serverless REST API on Azure functions with a real-time example, explore tooling options, testing and deploying alongside a discussion on different ways of securing the APIs.
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
Covers the changes Microsoft are making to team sites in Office 365/on-premises SharePoint - in terms of end-user changes, and also the impact on developers. The second half of the deck covers the SharePoint Framework (the new coding framework for developers).
Application Lifecycle Management for Office 365 developmentChris O'Brien
For teams doing cloud-friendly SharePoint or Office 365 development, apps will be a key area of focus - be they SharePoint add-ins or the newer Office 365/Azure AD apps. ASP.NET (typically MVC) is a common platform here, and fortunately ALM and Continuous Integration become MUCH easier - finally, an end to "it’s harder because it's SharePoint!" We'll demonstrate how Visual Studio Online and Azure Web Apps are a winning combination for “continuous deployment”, and also how features such as "Deployment Slots" in Azure can help with dev and test environments, and also the upgrade/push-to-live process. Several demos will ensure you’re covered for developing both SharePoint add-ins and Office 365 apps.
[Jussi Roine] This is literally the best session on serverless, ever. We'll have a figurative look at literally the best invention since Office Clipper guy (I miss him). You'll understand the how, what, why, where and whom and there was one more I think, to literally build solutions, integrations and spamming engines with ease. Make servers not great again!
Do's and don'ts for Office 365 developmentChris O'Brien
A session I gave at the European SharePoint Conference 2015. Abstract: The "rules" of SharePoint development have changed - although MSDN documentation often lags behind, the Office 365 Product Group tell us we're no longer supposed to use custom master pages, WebTemplates or deploy our fields and content types in XML. This means core concepts and guidelines that have been around for 7 or 8 years no longer hold true! Clearly this is a massive change - but do we always need to adhere to these new rules? Or are there times when it's OK to use less-preferred (but still supported) approaches?
In this session we look at the reasons behind Microsoft's change of position, and the associated thinking you need to do in the real world.
In this session you will learn:
1. A discussion of the key changes in developer guidance
2. A technical deep-dive (with demos) into the new approaches Microsoft recommend
3. Consideration of the circumstances where you might choose NOT to adhere to the guidance, and why
[John White, Jason Himmelstein] On premises or in the cloud, rich data visualizations are essential to most business processes an decisions. But frequently, key data may live on premises, although tools like Power BI provide a cloud based surface to view dashboards and reports. Join us for an overview of how to extend on premises data to the cloud and how to integrate cloud-based visualizations back into Microsoft SharePoint on premises. We'll be talking about a wide variety of tools including SQL Server Reporting Services, Power BI, SharePoint (both on-premises and in the cloud), Flow and PowerApps.
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
Describes the new SharePoint development framework, which uses Gulp, node.js, TypeScript, SASS and other modern web technologies. Covers client web parts, modern pages and the canvas, and how to surface your files on a CDN for optimum performance. This intro presentation helps you get started.
[Elio Struyf] We all have these daily tasks that can be automated. Like checking if the backup job of your site completed, or looking how many times a file has been accessed, etc. These kinds of tasks are great to be automated by an Azure Functions. In this session, you will get an overview of what Azure Functions can do for you. With some demos, we go step by step through the creation, debugging and deployment process of these functions.
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Additional information added for the European SharePoint Conference 2014
Presentation on deep dive into developing serverless REST API on Azure functions with a real-time example, explore tooling options, testing and deploying alongside a discussion on different ways of securing the APIs.
Building Cloud-Native Applications with Microsoft Windows AzureBill Wilder
Cloud computing is here to stay, and it is never too soon to begin understanding the impact it will have on application architecture. In this talk we will discuss the two most significant architectural mind-shifts, discussing the key patterns changes generally and seeing how these new cloud patterns map naturally into specific programming practices in Windows Azure. Specifically this relates to (a) Azure Roles and Queues and how to combine them using cloud-friendly design
patterns, and (b) the combination of relational data and non-relational data, how to decide among them, and how to combine them. The goal is for mere mortals to build highly reliable applications that scale economically. The concepts discussed in this talk are relevant for developers and architects building systems for the cloud today, or who want to be prepared to move to the cloud in the future.
This talk was delivered by Bill Wilder at the Vermont Code Camp 2 on 11-Sept-2010.
Getting Started with Serverless Architectures using Azure FunctionsMarc Duiker
Presentation I gave at Techdays 2017 in Amsterdam.
First the concepts of a serverless architecture are explained. Then Azure Functions is introduced. The corresponding demo code can be found at https://github.com/marcduiker/demos-serverless-architectures-functions.
Learn how to leverage various tools to quickly and consistently create full environments in minutes.
Like most things in life, there's an easy way and a hard way. The same holds true when working in cloud environments such as Microsoft Azure. The Azure management portal and Visual Studio can be great for relatively simple projects, but quickly become tedious when trying to create the multiple resources that often make up a real-world solution. This session will demonstrate how to leverage various tools, such as PowerShell, Azure Resource Manager, Azure Automation, and the Azure Management Library, to quickly and consistently create full environments in minutes.
You will learn:
- How to use Azure Management Library to create various Azure assets
- How to use Azure PowerShell cmdlets to query Azure services, deploy VMs and Cloud Services
- How to leverage Azure Automation to reduce operating costs and other management tasks
SPS calgary 2017 introduction to azure functions microsoft flowVincent Biret
Slides of the session introduction to Microsoft flow and azure functions during SPSYYC. Lean to create no-code powerful workflows and extend those in a matter of minutes with Azure Functions
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...SPS Paris
Modern solutions are based on complex architectures, which are made of multiple layers and services. Often, to run your solutions, you need to host services on Azure, configure services in Office 365, and provision content in SharePoint Online. Deploying manually such kind of solutions in target environments can be really challenging, time consuming, and error-prone. In this session, you will learn how to automate the provisioning of such kind of solutions using the Microsoft Graph, the Azure Management API, and the REST API more in general. During the session you will see a real case study, based on the open source PnP Partner Pack Setup Wizard.
Chris OBrien - Azure DevOps for managing workChris O'Brien
A presentation I gave at ESPC 2019 (the European SharePoint, Office 365 and Azure Conference) about Azure DevOps for managing both development and support work. The focus is on Azure DevOps boards and task management, but covers some CI/CD aspects too.
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)Chris O'Brien
A high-level view of Power BI as it relates to Office 365, SharePoint and developers. Potentially useful to help consider Power BI against custom development options.
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
Covers key aspects of SharePoint 2013 apps, with a focus on SharePoint-hosted apps. Includes detail on app parts, using web parts within an app, configuring SSL, troubleshooting apps and possible reasons to move away from a SharePoint-hosted app to a cloud app. Also covers "high-privilege" apps which provision to the host web.
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienChris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Presentation at SharePoint User Group UK, December 2012. Discusses SP2013 developer investments by order of potential impact (my view!), tooling enhancements (e.g. list/content type designer), apps, Display Templates (aka JSLink, aka Client Side Rendering), managed navigation, cross-site publishing etc.
Getting to grips with SharePoint 2013 apps - Chris O'BrienChris O'Brien
Presentation at SharePoint Saturday UK, December 2012. Discusses official Microsoft guidance on apps, 3 key decisions to make on apps (for any company implementing SharePoint 2013), apps and SSL, developing apps, possible reasons to need a cloud app, 5 lessons learnt developing apps etc.
Automated Builds And UI Testing in SharePoint 2010 DevelopmentChris O'Brien
Shows how to introduce automated builds and UI testing to SharePoint 2010 development projects. Team Foundation Server 2010 is used as the build platform. Includes coverage of VS2010 features such as code profiling, IntelliTrace etc.
Optimizing SharePoint 2010 Internet SitesChris O'Brien
Details my top 6 techniques for reducing page load speed on SP2010 internet sites, with a focus on page-level optimisation. Also covers techniques/tools for measuring page load speed, load testing etc.
Managing the SharePoint 2010 Application Lifecycle - Part 2Chris O'Brien
The second of two presentations from SharePoint Evolutions conference, aimed at SharePoint developers - covers new capabilities of SharePoint 2010 in managing changes and upgrades to exisitng apps.
Managing the SharePoint 2010 Application Lifecycle - Part 1Chris O'Brien
The first of two presentations by Chris O'Brien at the SharePoint Evolutions Conference, aimed at SharePoint developers - covers new capabilities of SharePoint 2010 in managing changes and upgrades to exisitng apps.
My presentation to the UK SharePoint User Group in January 2008 on SharePoint workflow. During the presentation I developed a state-machine workflow over several demonstrations. A downloadable \'resources pack\' of workflow tips and tricks accompanied this presentation, available at http://www.sharepointnutsandbolts.com/2008/01/resources-from-my-workflow-deep-dive.html.
SharePoint Web Content Management - Lessons Learnt/top 5 tipsChris O'Brien
My presentation to the UK SharePoint User Group (200+ attendees) in Oct 2008 on Web Content Management in SharePoint. Includes top 5 WCM tips and general lessons learnt.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
1. Azure – the best bits (for
Office 365/SharePoint devs)
Chris O’Brien (MVP)
Independent/Content and Code, UK
Add
Speaker
Photo here
2. Top Office 365 + Azure scenarios
What? How?
Do something on a schedule Put code in Azure Web Jobs/Functions
Build apps (Office 365 app/SP
provider-hosted add-in)
Deploy app files to an Azure app
SharePoint site provisioning Deploy PnP Partner Pack to Azure
Run code on a button click Use Azure Functions + JavaScript
Store data not suited to SP lists Use Azure SQL Database
Store files for my app Use Azure BLOB storage (and CDN if
appropriate)
Implement SharePoint web hooks Use Azure Queues and Functions
Implement authentication on a
custom web app
Implement Azure Active Directory (AAD) auth
Or the general case:
HOST MY REMOTE
SHAREPOINT CODE!
3. Some Azure features
Compute
•Virtual machines
•App services/web
apps
•Web Jobs
•Functions
Storage
•BLOB storage
•Table storage
•Queues
•File service
Data
•Azure SQL Database
•Redis cache
•Azure Search
•StorSimple
•DocumentDB
Messaging
•Service Bus
•Event Hubs
•Queues/Topics/Relays
Media
• CDN
• Encoding
• Streaming
Mobile services
• Push
notifications
• Mobile
Engagement
Integration
• Logic Apps
• API
management
• Data Factory
• Data Catalog
Security and
Identity
• Azure Active
Directory
• AAD B2C
• Azure RMS
• Key Vault
• MFA
4. Azure is… Big
> 90%
Fortune 500 using MS cloud
>
Active websites
300k 1,000,000
715Azure AD users
More than
SQL databases in Azure
120kPER
MONTH12Orgs in Azure AD
M
>
>> M
3Requests per second
M
> 30Storage objects
TN
> 2Developers in VS Online
M
New Azure subscriptions
Performance Q2 2017
•93% revenue increase
YoY
•2x compute usage YoY
5.
6. Web Apps
A great hosting location
• Easy to manage, scale up/down
• Auto SSL/load-balancing/backup
Perfect for extending SharePoint
• Office 365 apps
• SharePoint Add-ins
• Standalone web apps
Create Azure
web app
Register app
in AAD/SP
Configure Deploy files
7. Deployment options
Drag and drop in browser (Kudu)
Publish from Visual Studio
WebDeploy
Source control integration (GitHub, Git, VS Online)
FTP
8. Azure Web Apps - deployment slots
Dev/test/prod “instances” of
your site
• Own URL
• Own App Settings/Connection
Strings
http://mysite.azurewebsites.net
http://mysite-dev.azurewebsites.net
http://mysite-test.azurewebsites.net
Allows you to test purely
in production Office 365
environment, BUT with
dev/test/prod code!
9. In Azure
portal:
PowerShell:
“Swapping” deployment slots
Slots can be swapped to
deploy updates
Actually a DNS update, not copy
of content
Process:
Publish updates to dev/test slots
Swap test/production when ready
Switch-AzureWebsiteSlot
–Name ‘COB website’
-Slot1 'Production'
-Slot2 <slotName>
10. More Azure coolness – “Testing in production”
Traffic Routing - send
some traffic to another
slot
Uses:
Testing new functionality on
small number of users
A/B testing
11.
12.
13. What is App Insights?
Azure-based monitoring/reporting of
your app
• Exceptions
• Events within your app
Basic page analytics
• (Not really suitable for site owners)
Free up to 20GB per month
14. Getting started
ASP.NET web app
• NuGet package:
Install-Package
Microsoft.ApplicationInsights
• https://www.nuget.org/
packages/Microsoft.
ApplicationInsights/
Modern web app
• npm package:
npm i applicationinsights
• https://www.npmjs.com/
package/
applicationinsights
16. Log custom events/metrics
How long does a (Graph?) API
call take *for the user*?
How often did a user click
button X?
What are the most popular
file types?
17.
18. Simple code hosting
Scenarios
• Button click (e.g. web part)
• Scheduled process
• Respond to event (e.g. new file in Azure)
Develop in any language
• C#, JavaScript, PowerShell etc.
Simpler than a Web Job or Web API!
19. Functions – pricing plans
App service plan Consumption plan
Runs on dedicated VMs Serverless
Pay for containing VM Pay for what you use (executions)
Great if running at high scale Great for intermittent/quicker jobs
Scale at VM level Scale up automatically
MORE EXPENSIVE CHEAPER
So, generally you want the consumption plan!
20. Functions vs. Web Jobs
Similarities
• Both can be scheduled or use trigger (queue/BLOB
etc.)
• Both support C#, JavaScript, PS
Differences
• Pricing - only Functions have pay-per-use option
• Flexibility - Functions can be triggered from HTTP
call/web hook, OneDrive, Github etc.
• Restrictions – max 10 min timeout on Function
Typically Functions > Web Jobs See http://cob-sp.com/2r1MZe5
21. Authentication options
Function auth
• A simple code passed to function
• Caller must know/store the code
• Auth to Office 365/SP handled separately
Azure AD auth
• Function cannot be called without auth token
• Requires adal.js/msal.js from JavaScript OR cookie/IFrame approach (currently)
• OpenID Connect may help in SPFx in future?
https://cob-pnp-
functions.azurewebsite
s.net//api/CreateModer
nPage?
code=
FniGsXQ43Nf1HYB0JEIRuR
rbLPaTTQnuithMnqtXoLQ5
4Hz6FY/j3g==
22. Options for developing Azure Functions (C#)
Use Azure portal
• Good for playing
around
• No source control
• Little coding support
Use VS Code
• Sync from source
control to Function
• Little coding support
for C# (more for
node.js)
Use Visual Studio 2017
• Full coding support (F5
debug, IntelliSense)
• Publish to Azure
• Requires VS2017 15.3+
with Azure
development workload
.csx files and #r references True C#
23.
24. Azure Functions in the real world
Secured by AAD auth
Identity of current user available if required
Use of NuGet packages
Uses App Insights for monitoring
Uses PnP Core
Callable from SPFx (with adal.js or cookie method)
29. SQL in an Office 365 world
Can now auth with AAD identity
• No need for separate SQL
auth/identity
• Best practice – set AAD Group, not
User to be admin
Code options
• Connect with certificate – app-only
auth
• Connect with user token (using
MSAL or ADAL) – user auth
30. Create a new DB/add item with EF
Entity Framework code: using (var db = new ListDbContext())
{
List list = new List();
list.ListId = Guid.NewGuid();
list.WebId = Guid.NewGuid();
list.SiteId = Guid.NewGuid();
ListItem item = new ListItem();
item.List = list;
item.ItemUniqueId = Guid.NewGuid();
item.Id = 1;
db.Lists.Add(list);
db.SaveChanges();
db.ListItems.Add(item);
db.SaveChanges();
}
31.
32. ARM templates
Easily deploy without button clicks!
Defined in JSON, deployed with
PowerShell (or C# etc.)
• Parameters extracted to separate file
Deploy entire app, and optionally resources (e.g.
code):
• Web app (inc. App Settings, SSL cert etc.)
• SQL Database
• Function app
• etc.
New-
AzureRmResource
GroupDeployment
–TemplateFile
xyz
33. Building an ARM template
• The scope is a Resource Groupod
reason to structure your resources in this way
• Export-AzureRmResourceGroup
• See
https://azure.microsoft.com/en-
us/blog/export-template
35. Advanced ARM scenarios
Auto-deploying files for web app/Function
• Zip file must exist in Azure BLOB storage
• Auto-deploying SSL certs
• Fetch bytes from filesystem, use in parameters object
36. ARM templates – other features
Define
dependencies, for
correct provisioning
sequence
Tags
Role-based security
37.
38. Queues are great for..
Anything that should be picked up by a longer running task
• SharePoint site provisioning
• SharePoint web hooks
• File processing (e.g. my image renditions demo)
QueueTrigger – the key
• Auto-runs your code (when new item added)
• Azure Function
• Azure Web Job
39. Decoupling code with a Queue
Itake thingsfrom queue
andprocessthem e.g.
- AzureFunction
- AzureWebJob
Iput thingson queue
QueueTriggerC#, REST etc.
40. What goes on a Queue?
Answer – a string (i.e.
anything)
{
“SiteUrl”: “/Project12345”,
“Title”: “Project 12345”,
“Template”: “ProjectSite”
“Owners”: {
“Primary”: “chris.obrien@foo.com”,
“Secondary”: “adam.smith@foo.com”
}
}
Create object
Serialize
Add to queue
41. Adding a queue item
// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the queue client.
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
// Retrieve a reference to a queue.
CloudQueue queue = queueClient.GetQueueReference(“SiteRequestQueue");
// Create a message and add it to the queue.
CloudQueueMessage message = new CloudQueueMessage(siteInfoObject);
queue.AddMessage(message);
Other ops:
- Peek message
- Dequeue
message
- Amend contents
of existing
message
42.
43. Storage Queues vs. Service Bus Queues
Be aware of the two options..
..but Storage Queues work well for most
Key differences:
Storage Queue Service Bus Queue
7 day max lifetime Unlimited lifetime
Full transaction log No transaction log
Order not guaranteed Order can be guaranteed
Potential duplicates Duplicate detection
Simpler More complex
See
http://cob-sp.com/
AzureQueues
44. And we didn’t even talk about…!
Azure Containers
(Docker)
API management Virtual machines (of course!)
Azure RMS Azure B2C Azure mobile apps (e.g. notification hub)
HDInsight Azure Data Lake Azure virtual networks
Azure media
services
Azure batch (HPC) Azure backup vault
45. Key take-aways
Web apps are cooler than you think!
Write your first Azure Function!
Perfect for timer jobs, perfect for web APIs (e.g. advanced web parts)
Try deploying the PnP Partner Pack as a good exercise
(manual approach)
Deployment slots
App Insights
Testing in production
46. Useful links
Azure Storage Explorer
• https://AzureStorageExplorer.codeplex.com
Azure Functions / SPFx series
• http://cob-sp.com/SPFx-AzureFunc-1
PnP Partner Pack
• https://github.com/SharePoint/PnP-Partner-Pack
47. Thank you!!
Any questions?
www.sharepointnutsandbolts.com
@ChrisO_Brien