<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Microsoft Industry Blogs &#8211; United Kingdom</title>
	<atom:link href="https://cloudblogs.microsoft.com/industry-blog/en-gb/feed/" rel="self" type="application/rss+xml" />
	<link>https://cloudblogs.microsoft.com/industry-blog/en-gb</link>
	<description></description>
	<lastBuildDate>Tue, 15 Oct 2019 13:11:59 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Learn how you can be more efficient with Azure DevOps for your databases</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/#respond</comments>
				<pubDate>Tue, 15 Oct 2019 14:00:05 +0000</pubDate>
		<dc:creator><![CDATA[Chris Walden]]></dc:creator>
				<category><![CDATA[TechNet UK]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/</guid>
				<description><![CDATA[<p>One core objective of any development project is the ability to safely and securely accelerate the delivery process. And the foundation of any such project is the database its built on. Thats why its important that the database development is project is integrated into the pipeline in Azure DevOps as well. In this article, we </p>
<p><a class="read-more" aria-label="Read more about Learn how you can be more efficient with Azure DevOps for your databases" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/">Read more</a></p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/">Learn how you can be more efficient with Azure DevOps for your databases</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="An abstract picture of a rocket ship launching off to represent Azure, next to a picture of Bit the Raccoon." width="1920" height="800" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/sites/22/2019/05/azuredevopsheader.jpg"><p>One core objective of any development project is the ability to safely and securely accelerate the delivery process. And the foundation of any such project is the database its built on. Thats why its important that the database development is project is integrated into the pipeline in Azure DevOps as well.</p><p>In this article, we are going to add a database project to Azure DevOps and we will set up continuous integration and continuous deployment (CI/CD). This way it can be part of the automatic build and deployment, just like all the other projects in Azure DevOps.</p><p>For this demo, we are going to create a new project in Visual Studio Team Services. We will also define and create a new database project in Visual Studio 2019 using SQL Server Data Tools. Finally, we are going to automate the build and deployment using Azure DevOps and deploy the database to a SQL Server Database in Azure.</p><p>&nbsp;</p><h2>Creating the project in Azure DevOps</h2><p>The first step is to create a new project in Azure DevOps. Take the following steps:</p><ol><li>Open a web browser and navigate to: <a href="https://aka.ms/azdev-signin" target="_blank" rel="noopener noreferrer">https://aka.ms/azdev-signin</a></li><li>On the right side of the screen, click <strong>+ Create Project</strong></li><li>Give the project a name, for instance</li><li>After creating the project, select <strong>Repos</strong> in the left menu. On the Repos overview page, click on <strong>Clone in Visual Studio </strong>(if this is not selected, click on the arrow to select it) to open this project in Visual Studio:</li></ol><img alt="A screenshot of the Repos overview page, with the Clone in Visual Studio button highlighted." width="1154" height="697" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops1.jpg"><p>Visual Studio will now clone this project to your local file system and open it.</p><p>&nbsp;</p><h2>Creating the database project in Visual Studio</h2><p>To create the database project, you need to be install SQL Server Data Tools on your system. This can be done during installation of Visual Studio or by running the installer again. Make sure that you select <strong>Data Storage and processing</strong>. For more information, you can refer to <a href="https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017" target="_blank" rel="noopener noreferrer">https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt?view=sql-server-2017</a>.</p><ol><li>In Visual Studio, in the Team Explorer window<strong>: </strong>select <strong>Create a new project or solution in this repository:<br><img alt="A Team Explorer screenshot confirming that the repository was cloned successfully. " width="348" height="490" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops2.jpg"></strong></li><li>In the search box, type <strong>Data </strong>and select <strong>SQL Server Database Project:<br><img alt="A screenshot highlighting the " width="1024" height="710" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops3.jpg"></strong></li><li>Click <strong>Next</strong>.</li><li>Add the <strong>Project name </strong>in the next screen of the wizard (and make sure that <strong>Create a new solution</strong> is selected:<br><img alt="A screenshot showing the " width="1024" height="710" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops4.jpg"></li><li>Click <strong>Create</strong>.</li><li>After the project is created, select <strong>View &gt; SQL Server Object Explorer</strong> in the top menu. Expand the projects folder there called <strong>CustomerDatabase</strong>, and you will see the database structure as displayed below:<br><img alt="The View menu highlighted in Visual Studio." width="517" height="447" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops5.jpg"></li><li>Right-click on <strong>Tables</strong> and select <strong>Add new table.</strong></li><li>Call your table <strong>Customer</strong>.</li><li>You can now add the columns to the database designer. Add the following columns and data types:<br><img alt="A screenshot in Visual Studio highlighting the Name and Data Type of the data being used in the example." width="1136" height="674" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops6.jpg"></li><li>You can add other table and views in here as well, if you wish. For this demo, leave it as it is. Save the file. If you then select <strong>Solution Explorer, </strong>you will see that there is a <strong>sql</strong> file added to the project.</li><li>We now need to set the target platform to <strong>Microsoft Azure SQL Database V12. </strong>Right-click on the project file in the Solution Explorer and select <strong>Properties</strong>. In the Project Settings tab, make sure that <strong>Microsoft Azure SQL Database V12</strong> is selected.</li><li>To commit the changes to Azure DevOps, in the bottom right corner of Visual Studio, click the <strong>Changes</strong> button (the button highlighted below will open all the changes):<br><img alt="A screenshot of the toolbar in Visual Studio with the Changes button highlighted." width="365" height="35" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops7.jpg"></li><li>You will now see all the changes Enter a commit message, and select <strong>Commit All and Push:<br><img alt="A screenshot of the Team Explorer in Visual Studio with the " width="348" height="517" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops8.jpg"></strong></li><li>The code has now been checked directly into the <strong>Master branch.</strong></li></ol><p>We have now created a new database and a table using the SQL Server Data Tools in Visual Studio.</p><p>&nbsp;</p><h2>Setting up CI/CD for your database in Azure DevOps</h2><p>Before we can set up CI/CD for this database project, we need to have an Azure SQL Database server created in Azure. For more information on how to do this, you can refer to: <a href="https://docs.microsoft.com/en-us/azure/sql-database/sql-database-single-database-get-started" target="_blank" rel="noopener noreferrer">https://docs.microsoft.com/en-us/azure/sql-database/sql-database-single-database-get-started</a>. Call your database <strong>CustomerDatabase</strong>.</p><p>To set up CI/CD for our database, we must return to Azure DevOps.</p><ol><li>Open Azure DevOps again in the browser and navigate to the project.</li><li>If you click on <strong>Repos &gt; Files </strong>in the left menu, you will see that the database project is checked in:</li></ol><img alt="A screenshot of the Azure DevOps explorer with the Repos and Files section of the menu highlighted." width="1210" height="567" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops9.jpg"><ol start="3"><li>First, we are going to create a new build for this project. For this, we need to define a new build definition. In the left menu, select <strong>Pipeline &gt; Builds. </strong>Click the <strong>New pipeline</strong></li><li>In the next screen of the wizard, you need to select where your code is. Select <strong>Use the classic editor</strong> to create a pipeline without YAML.</li><li>In the wizard, keep the default settings, which will look like the following:<br><img alt="The " width="670" height="484" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops10.jpg"></li><li>Click</li><li>Now we have a new job, which we can add tasks to. Click the + sign to the right of <strong>Agent job 1</strong>. Then use the search box to find MSBuild. Add this task to the agent job:<br><img alt="Adding an MSBuild task to the DevOps project." width="1067" height="359" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops11.jpg"></li><li>Select the task after it is added to the agent. In this screen, we need to set the parameters for the build. Click the button next to <strong>Project</strong> and select the .sln file from the dropdown. Select <strong>OK</strong>:<br><img alt="A screenshot showing the filepath of the customer database used in the project." width="445" height="462" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops12.jpg"></li><li>Search for <strong>Copy files </strong>and add this task as well. Add the following configuration values:<ol><li>Source Folder: $(agent.builddirectory)\s</li><li>Target Folder: $(build.artifactstagingdirectory)<br><img alt="A screenshot showing a Copy Files task in Azure DevOps." width="1262" height="482" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops13.jpg"></li></ol></li></ol><ol start="10"><li>Add a <strong>Publish Build Artifacts</strong> task to the agent and set the following value:<ol><li>Artifact name: CustomerDatabase</li></ol></li><li>Then select <strong>Save &amp; queue:<img alt="The Save &amp; Queue option highlighted in Azure DevOps." width="1379" height="483" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops14.jpg"></strong></li><li>We now have an automatic build for this solution. You can check the process by clicking on the build number at the top of the screen.</li><li>The next step is to automate the release of this build. In the left menu, go to <strong>Pipelines &gt; Releases. </strong>Select <strong>New pipeline.</strong></li><li>Again, start with an <strong>Empty job</strong> and then click on <strong>Add an artifact</strong>. Select the build that we created in the previous step and click <strong>Add</strong>:<img alt="The " width="1377" height="513" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops15.jpg"></li><li>Now set the target environment. We are going to use the Azure SQL Server that we created earlier. Click the link underneath <strong>Stage 1:<br></strong><img alt="The " width="603" height="437" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops16.jpg"></li><li>Click the + sign next to <strong>Agent job</strong> and search for database. Select <strong>Azure SQL Database deployment</strong> from the list:<br><img alt="The " width="1376" height="458" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops17.jpg"></li><li>Add the following configuration values:<ol><li>Azure Subscription: Select the subscription where the database server is deployed. If needed, click the <strong>Authorize </strong></li><li>Azure SQL Server: Specify the full URL for the database server (like customers6587.database.windows.net).</li><li>Database: Specify the database name (like CustomerDatabase).</li><li>Login: Specify the admin username.</li><li>Password: Specify the admin password.</li><li>DACPAC file: select the DACPAC file from the debug folder:<br><img alt="The " width="487" height="512" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops18.jpg"></li></ol></li><li>Click <strong>Save </strong>in the top menu to save this release. Keep the default folder settings. After saving, click <strong>Create</strong><strong>Release </strong>in the top menu (next to Save) to deploy this database to Azure.</li><li>Click <strong>Create</strong>:<br><img alt="A screenshot of the " width="564" height="935" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/devops19.jpg"></li><li>You can click the release number at the top of the screen to follow all the steps that Azure DevOps takes to deploy this database.</li></ol><p>After the release is finished, you can check the database in the Azure portal. You can use the Query Editor to check the tables and add data to it.</p><p>&nbsp;</p><h2>Wrap up</h2><p>In this article we have covered how you can add your database project in Azure DevOps. This way your database development team can safely and securely develop and deploy their database solution. Using the integration and continuous deployment (CI/CD features of Azure DevOps, the database development team can also benefit from automatic builds and automatic deployment.</p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/">Learn how you can be more efficient with Azure DevOps for your databases</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/15/learn-how-you-can-be-more-efficient-with-azure-devops-for-your-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>How to create an effective test plan</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/10/how-to-create-an-effective-test-plan/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/10/how-to-create-an-effective-test-plan/#respond</comments>
				<pubDate>Thu, 10 Oct 2019 14:35:14 +0000</pubDate>
		<dc:creator><![CDATA[Chris Walden]]></dc:creator>
				<category><![CDATA[TechNet UK]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/10/how-to-create-an-effective-test-plan/</guid>
				<description><![CDATA[<p>Software is complex. Writing software is even more complex. But there are ways to make it easier on ourselves.</p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/10/how-to-create-an-effective-test-plan/">How to create an effective test plan</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="A man working on a Microsoft Surface with a picture of Bit the Raccoon on the right." width="1920" height="700" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/sites/22/2019/06/autopilotheader.jpg"><p>Software is complex. Writing software is even more complex. There are so many factors that come into play when writing software that it is hard to think of all the exceptions that might occur and cause all sorts of havoc. We need UI tests, smoke tests, regression tests, edge case tests, integration tests, and so on.</p><p>If the organisation relies on us to run all these tests every time they make a change, we would be spending most of their time testing rather than coding.</p><p>We as developers and IT Pros know, or should know, how important it is to test the created work. Testing software requires a different mindset than developing software does. When tests are written by developers who are not trained in writing tests, we dont always get the results at the quality level we need.</p><p>To minimise the risks, it would be helpful if we tested our software in many ways, which means we need to have a lot of tests in place. These could come in the form of Unit Tests, Integration Tests, Automated UI tests and many other methods.</p><p>Testing also helps during development. We often find that refactoring a piece of code leads to unwanted side effects. Sometimes when fixing a bug, the developers inadvertently introduce new bugs in other parts of the system. Having a good set of unit tests in place might help by alerting the developer that something is wrong.</p><ul><li>Learn more about Test Driven Development (TDD) <a href="https://docs.microsoft.com/en-us/visualstudio/test/quick-start-test-driven-development-with-test-explorer?view=vs-2019">on Microsoft Docs</a>.</li></ul><p>This works only if the testing is done regularly and consistently. Most of us developers know we need to run unit tests to get better software, but that is not enough.</p><h2>Test automation helps</h2><p>The answer to this dilemma is obvious: automate the tests.</p><p>In Visual Studio, you can turn on the option to run all tests continuously or at least after each build. This way a defect will be caught as soon as possible if the right tests were written. When this setting is on, we cannot forget about running themthe tools remembers this for us.</p><p>Other types of tests are more problematic. You usually do not want to run a full integration test after each build because these test runs can take hours.</p><p>A better solution would be to have them as part of your build pipeline. If you use Azure DevOps, you can take advantage of the Build Pipelines engine, which enables you to script out all tests and run them whenever you see fit.</p><p>For instance, you can build a pipeline that runs after each code check-in. These tests usually include unit tests and some regression tests. They run quickly and notify developers when their code is not accepted.</p><p>Other tests, such as UI and integration tests, can be set up to run at a fixed interval. It is customary to have these tests run every night, but in these days of global teams its hard to identify what night is. So, you have to come up with a time that works for you.</p><p>With Azure Pipelines, you can automate all sorts of builds and tests, including Python, Java, and Mobile, among others.</p><p>For instance, the Italian IT company AlmavivA uses both Java and .NET as the technology stack. By streamlining their test process and utilizing Azure Pipelines in their Azure DevOps environment, AlmavivA developers managed to cut their time to deployment from 3 days to 15 hours. This helps them to get to market faster and with more confidence: because all software has been tested, it will have fewer defects.</p><h2>Where to begin?</h2><p>Testing is something that needs to be done from the start. To have the biggest chance of success, testing needs to be part of every step of the software design process. During design, planning, development, and deployment, testing should be on everybodys mind all the time. Test professionals can help with identifying good test cases, but since a lot of the tests are being automated, developers will be part of the test team as well.</p><p>We can break down the process as follows:</p><ol><li>identify which types of test can be run often and which ones should be run periodically.</li><li>Write the test plans on a high level</li><li>Create unit tests</li><li>Create UI Tests</li><li>Create integration tests.</li></ol><p>But remember, it is very important have these tests in place, and to run them often. If you make them automated where possible, and as part of your build pipeline, you can never forget to run them.</p><h2>Learn More</h2><ul><li>Read up on <a href="https://docs.microsoft.com/en-us/visualstudio/test/unit-test-your-code?view=vs-2019" target="_blank" rel="noopener noreferrer">Unit Testing</a> on Microsoft Docs</li><li>Learn how to <a href="https://docs.microsoft.com/en-us/learn/modules/run-functional-tests-azure-pipelines/" target="_blank" rel="noopener noreferrer">Run functional tests</a> in Azure Pipelines on Microsoft Learn</li></ul><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/10/how-to-create-an-effective-test-plan/">How to create an effective test plan</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/10/how-to-create-an-effective-test-plan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>7 tips on managing mental well-being in the modern workplace</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/#respond</comments>
				<pubDate>Tue, 08 Oct 2019 13:51:49 +0000</pubDate>
		<dc:creator><![CDATA[Angela Bos]]></dc:creator>
				<category><![CDATA[Cross-industry]]></category>
		<category><![CDATA[Blogger Series]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[Digital skills]]></category>
		<category><![CDATA[Mental well-being]]></category>
		<category><![CDATA[Modern Workplace]]></category>
		<category><![CDATA[New Technology]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/</guid>
				<description><![CDATA[<p>At Microsoft, our mission is to empower every person and every organization on the planet to achieve more. With more than 1 billion people in the world with disabilities, there&#8217;s no limit to what people can achieve when technology reflects the diversity of all those who use it. The World Health Organisation refers to mental </p>
<p><a class="read-more" aria-label="Read more about 7 tips on managing mental well-being in the modern workplace" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/">Read more</a></p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/">7 tips on managing mental well-being in the modern workplace</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="Man looking very happy and unconcerned with life" width="1024" height="576" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/ID-5918-Blogger-Series-7-Tips-On-Managing-Mental-Well-Being-1920x1080-no-profile-1024x576.webp"><p>At Microsoft, our mission is to empower every person and every organization on the planet to achieve more. With more than 1 billion people in the world with disabilities, there&rsquo;s no limit to what people can achieve when technology reflects the diversity of all those who use it. <span id="more-17367"></span>The <a href="https://www.who.int/mental_health/publications/financing/investing_in_mh_2013/en/" target="_blank" rel="noopener noreferrer">World Health Organisation</a> refers to mental health and well-being as fundamental to our collective and individual ability as humans to think, emote, interact with each other, earn a living and enjoy life.</p><p>A recent study of 1,400 information workers commissioned by Microsoft found that 40% of people work outside of regular hours in a way that interferes with family time. The report also found 70 percent of <a href="https://insights.office.com/2019/03/01/unplugging/" target="_blank" rel="noopener noreferrer">professionals dont fully unplug</a> from work.</p><p>With our world becoming increasingly connected and the lines blurring between our work and personal lives. The very technology that introduced the benefits of being always on and always connected, has impacted our ability focus and disconnect, reducing our productivity and disrupting our family time.</p><p>Earlier this year, as part of Mental Health Awareness Week, Casandra Marrero and I collated a series of our favourite tips on how technology has allowed us to take back control and manage a healthier mental wellbeing at work. Here are the top 7 tips that I use personally:</p><p>&nbsp;</p><h2>1. Turn off notifications</h2><p>According to Forbes, <a href="https://www.forbes.com/sites/lisaquast/2017/02/06/want-to-be-more-productive-stop-multi-tasking/#601382d755a6" target="_blank" rel="noopener noreferrer">98% of the population dont multitask</a> very well we are only shifting back from one task to another.</p><p>Research also shows it can take up to <a href="https://www.themuse.com/advice/this-is-nuts-it-takes-nearly-30-minutes-to-refocus-after-you-get-distracted" target="_blank" rel="noopener noreferrer">23 minutes to refocus after checking just one email or chat</a>. Not to mention, the impact that other distractions like social media can have on your attention. I sat down one day and laid out all the mobile communications apps I use on my phone onto one screen.</p><p>One day I sat down and moved all the iPhone applications that I use to communicate personally and professionally onto one screen and came up with 20 of them. It was no wonder I had trouble focusing. I found the constant notifications so disruptive to my productivity that I made a conscious effort at the beginning of the year to turn them off completely. I havent looked back.</p><p>Turn off your notifications and regain your focus. On an iPhone, this can easily be done by going to Settings, tap on Notifications, and for each application toggle Allow Notifications to Off. On an Android device, go to Settings, tap Sound &amp; Notification, then scroll until you see the App notifications. For each application, toggle Block All to Off.</p><img alt="Phone screen with notifications" width="339" height="415" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Notifications.png"><h2>2. Schedule time for email</h2><p>The average person <a href="https://www.forbes.com/sites/markmurphy/2016/09/18/the-way-you-check-email-is-making-you-less-productive/#4c2cc95137e3" target="_blank" rel="noopener noreferrer">checks their email about 15 times per day</a>. Its hard to get important work done if youre spending most of your day responding to tactical requests from other people.</p><p>Try limiting when you check your email to 2 or 3 key times of the day. Remove the temptation by disabling new email notifications. This can easily be done in Outlook 2013 or 2016 by going to the File tab, select Options, select Mail, and in the Message arrival section, un-check Display a Desktop Alert and Show an envelope icon on the taskbar.</p><p>&nbsp;</p><h2>3. Book focus time each week</h2><p>There used to be weeks where my days were so jam packed full of meetings that Id get home and spend the evening catching up on actions and emails. I also found it hard to get deeply involved in challenging work when I only had small chunks of time to focus in between meetings.</p><p>I started blocking out time every day or week to focus without interruptions to help me improve my concentration and effectiveness. MyAnalytics in Outlook can help suggest and book focus time on your behalf, particularly if it looks like your calendar is filling up. Go to <a href="https://myanalytics.microsoft.com/" target="_blank" rel="noopener noreferrer">MyAnalytics</a> to open your personal dashboard.</p><p>We recently announced some exciting new focus features coming to MyAnalytics. When these features roll out, your status in Microsoft Teams will automatically switch to Focus during booked focus time to help you concentrate. You will only get notifications for messages that are urgent or from contacts with priority access.</p><img alt="Computer screen showing focus time" width="469" height="323" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Focus.png"><p>&nbsp;</p><h2>4. Stay on top of your tasks</h2><p>&nbsp;</p><p>A great way to get something off your mind is to note it down. But how many to-do lists do you currently have? Perhaps a grocery list on the back of an envelope, possibly a list of things todo in notes or an app on your phone and maybe some tasks in Outlook?</p><p>But what about those emails that youve flagged to get back to? And what if someone has assigned you a task in Planner?</p><p>One way to stay on top of all these tasks is to use an application like <a href="https://products.office.com/en-gb/microsoft-to-do-list-app?rtc=1" target="_blank" rel="noopener noreferrer">Microsoft To Do</a> which is available for free, and syncs across iPhone, Android, Windows 10, and the web. To Do is integrated with Outlook Tasks, making it easier to manage all your tasks in one place.</p><p><a href="https://techcommunity.microsoft.com/t5/Planner-Blog/Planner-and-To-Do-integration-bringing-you-a-more-cohesive-task/ba-p/553485" target="_blank" rel="noopener noreferrer">Planner tasks</a> assigned to you will also now appear in To-Do under a new Assigned to Me list.</p><img alt="Screenshot of Microsoft To Do" width="408" height="292" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/To-DO.png"><p>&nbsp;</p><h2>5. Try using a digital assistant to save time</h2><p>One of my biggest stresses at work used to be trying to find a mutually agreeable time to meet for a call, particularly when the attendees were external to my organisation and calendar free-busy information wasnt available. I used to have to go backandforth with options and found it incredibly time consuming.</p><p>Not everyone can afford to have their own personal assistant, but how about a digital assistant? Now when I need to schedule some time to meet I used Calendar.help (calendar.help). I simply cc: Cortana in an email with other people and ask her to schedule a meeting. Cortana handles all the back-and-forth emails to find a time when everyone can meet and then sends out an invite on my behalf. I can even predefine what number to call, which meeting room to book or whether to add online meeting details by default.</p><p>Cortana.help is currently in exclusive preview. Other great tools that can help relieve the burden of booking meetings include Outlook plugins like <a href="https://findtime.microsoft.com/" target="_blank" rel="noopener noreferrer">Findtime</a> and intelligent assistants like <a href="https://zoom.ai/" target="_blank" rel="noopener noreferrer">Zoom.ai</a> that integrate with your chat apps and email.</p><img alt="Computer screen showing Cortana helping with your calendar" width="373" height="365" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Calendar.png"><p>&nbsp;</p><h2>6. Be mindful of after-hours impact on others</h2><p>I love working for an organisation that fully supports flexible working. This means that Im able balance personal commitments like school sporting events or parent-teacher conferences with my work commitments; allowing me the flexibility to take time out during the day and catch up in the evening. While some of us may be night owls or choose to work after hours to catch up or prepare for a busy day ahead, we need to be mindful of the impact that this work habit may have on others.</p><p>This is particularly important for people managers in setting expectations around availability where a study states that employees do not need to spend actual time on work in their off-hours to experience the harmful effects. The mere expectations of availability increase strain for employees and their significant otherseven when employees do not engage in actual work during non-work time.</p><p>MyAnalytics in Outlook can show you the after-hours impact you impose on co-workers and coaches you towards building better work habits. If you must work late, trying saving emails to draft or delaying email delivery until business hours.</p><p><a href="https://techcommunity.microsoft.com/t5/Workplace-Analytics-MyAnalytics/New-in-MyAnalytics-See-your-after-hours-impact-on-co-workers/ba-p/130730" target="_blank" rel="noopener noreferrer">MyAnalytics in Outlook</a> can show you the after-hours impact you impose on co-workers and coaches you towards building better work habits. <span lang="EN-GB" xml:lang="EN-GB"><span>If you</span></span><span lang="EN-GB" xml:lang="EN-GB"><span>must</span></span><span lang="EN-GB" xml:lang="EN-GB"><span>work late, trying saving emails</span></span><span lang="EN-GB" xml:lang="EN-GB"><span>to draft</span></span><span lang="EN-GB" xml:lang="EN-GB"><span>or delaying email delivery until business hours.</span></span><span lang="EN-GB" xml:lang="EN-GB"><span></span></span></p><img alt="Phone screen depicting after-hours impact" width="217" height="343" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Impact.png"><p>&nbsp;</p><h2>7. Set yourself boundaries</h2><p>A study of 1,400 information workers commissioned by Microsoft found that 40% of people work outside of regular hours in a way that interferes with family time. The report also found 70 percent of professionals dont fully unplug from work.</p><blockquote><p>You need to regenerate your energy. Unplugging is an emotional recharge that we all need</p></blockquote><p>Set yourself boundaries to give yourself a break and a chance to recharge. Monitor your progress through the number of Quiet Days, days where you have spent less than two hours actively collaborating outside your set work schedule, in MyAnalytics in Outlook.</p><p>Whilst we may be tempted to work long hours at times, it is important to remember that sleep is as important as eating, drinking and breathing as described by the <a href="https://www.mentalhealth.org.uk/publications/sleep-report/" target="_blank" rel="noopener noreferrer">Mental Health Foundation</a>. Turn on the night light on your screen or use dark mode to reduce the strain on your eyes and lessen sleep disruption.</p><p>And when youre on holiday, set your Out of Office and stop syncing Outlook on your phone to remove temptation. Additionally, consider leaving your laptop at home and feel empowered to remove work apps off your phone to avoid sneaking a peek at your emails.</p><img alt="COmputer screen with well-being checks on it" width="535" height="365" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Wellbeing.png"><p>At this years Microsoft Future Decoded, I was joined by partners and colleagues to discuss this topic further; helping to drive mental health awareness among employees and employers, promoting a culture of sharing and learning, and empowering employees to manage their work life balance through the mindful use of technology. If you missed the session, you can catch up or <a href="https://futuredecoded.microsoft.com/session/a15f63c6-a0c4-e911-bcd0-28187866b6f1" target="_blank" rel="noopener noreferrer">download the presentation from the Future Decoded site</a>.</p><p>&nbsp;</p><h2>About the author</h2><p><em><img alt="Angela Bos headshot" width="145" height="142" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Angela.png">Angela Bos is Microsoft UKs Marketing Communications Manager for Executive Engagement. Prior to that, she spent 4 years at a Technology Specialist in Microsofts Modern Workplace team, helping public sector customers deliver better citizen services using cloud technologies. Angela is a passionate communicator, regularly speaking at Microsoft and industry events. She loves sharing ways that we can use technology to simplify how we collaborate, be more productive, and have more time for the things we enjoy. An advocate for diversity, inclusion, and accessibility, Angela currently sit on the Women@Microsoft UK Board as the Women in Technology lead, supporting activities and initiatives to attract, inspire, develop, and retain women in technology careers.</em></p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/">7 tips on managing mental well-being in the modern workplace</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/08/managing-mental-well-being-modern-workplace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Build Epic Apps with Visual Studio App Center</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/08/build-epic-apps-with-visual-studio-app-center/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/08/build-epic-apps-with-visual-studio-app-center/#respond</comments>
				<pubDate>Tue, 08 Oct 2019 12:00:59 +0000</pubDate>
		<dc:creator><![CDATA[Chris Walden]]></dc:creator>
				<category><![CDATA[TechNet UK]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/08/build-epic-apps-with-visual-studio-app-center/</guid>
				<description><![CDATA[<p>Visual Studio App Center is a platform that helps you ship apps faster by managing the entire app lifecycle. You can automate the build, test and distribution phases of development and monitor usage and crash reports in production.</p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/08/build-epic-apps-with-visual-studio-app-center/">Build Epic Apps with Visual Studio App Center</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="A man stood next to a server, with Bit the Raccoon standing to the right." width="1920" height="700" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/sites/22/2019/05/winrmpowershellheader.jpg"><h2>What is App Center?</h2><p>Visual Studio App Center is a platform that helps you ship apps faster by managing the entire app lifecycle. You can automate the build, test and distribution phases of development and monitor usage and crash reports in production. Recently App Center has been enhanced to provide your app with new data and authentication features, allowing you to leverage enterprise grade, global scale backend services with ease.</p><h2>Easily Add Authentication Support</h2><p>The authentication feature allows you to configure identity management. App Center uses Azure Active Directory B2C to power this. You may have already heard of Azure AD for managing your organisations accounts. The Azure AD B2C product allows you to authenticate with third-party platforms using the same enterprise-grade infrastructure but where users accounts exist on third-party platforms. These include Facebook, Google, Twitter and Amazon and 3rd party identity systems, along with Microsofts own personal, work and education accounts.</p><p>App Center will help walk through the required steps when you enable Auth for your app. To start with you link to your Azure account and then create a new B2C tenant. This is a separate AD instance with a custom onmicrosoft.com domain. You create an Application on your Azure AD B2C tenant and this will manage the authorisation of your app users.</p><p>Even with limited experience with authentication systems, following <a href="https://docs.microsoft.com/en-gb/appcenter/auth/getting-started" target="_blank" rel="noopener noreferrer">the setup guide</a> will have everything configured within minutes.</p><p>Once the app is linked the Auth page in App Center will show code snippets that you can paste into your app to enable the authentication.Authenticating users from your app is as simple as a single line of code using our SDKs available for iOS and Android. Once authenticated, the SDK will handle securely storing the token and reauthenticating the users when it expires.&rdquo;</p><h2>Store and Sync Data</h2><p>Most apps need to store some data locally and, at some point, synchronise it with your back-end. The Data feature of App Center allows you to set this up and manage it from the Azure Portal. Underneath it is powered by Azure Cosmos DB which is a global scale cloud database engine. You can start off with very basic throughput levels but know that you can grow the capacity as your app evolves.</p><p>In order to support offline use any document you create will be cached locally if a connection is not available. By default, this is retained for one day but you can override this to cache data indefinitely if required.</p><p>Cosmos DB is a multi-model, NoSQL database, which provides you the flexibility to decide how you want to model your data. It is common to persist objects as JSON so that they can be serialized and deserialized easily. Your data can be placed in multiple partitions and App Center provides two logical partitions for your app Public for read-only data which is accessible to all users, and Private which is read-write data accessible only to a specific user. This integrates with the Auth component already described above. Do note that if you&rsquo;re using Cosmos DB with a Graph model, it will work differently to this.</p><p>The App Center API for Data is very simple as it handles serialization and deserialization for you. It supports the standard operations of Create, Read, Update and Delete. Each individual document is uniquely identified by its document ID and partition, which helps with scaling and keeping data organised. You can list all items of a particular type and use pagination to read them progressively. Currently the list operation only returns accessible documents so when offline it doesnt have a cached copy of all documents.</p><h2>Push Notifications</h2><p>A well timed notification is a proven strategy for increasing app engagement, however a poorly timed notification can also be attributed to many app uninstalls. This is why it&rsquo;s important to ensure you&rsquo;re sending notifications to the right people at the right time. To do this App Center allows us to send notifications to both individual users and specific segments.</p><p>However, to utilise them from your app you could potentially end up creating a lot of code and supporting services to address all the different platform implementations. App Center comes to the rescue again with a standard API which you can use to send notifications across all the major mobile platforms.</p><p>App Center allows you to send notifications both to individual users and also to specific segments called Audiences. These are based on a set of filters around properties the App Center API can identify such as app versions, countries and languages. Each custom audience can have a maximum of 1000 devices. This service allows you to quickly setup push notifications both to prompt the user and to kick off synchronisation in your app without interrupting them.</p><p>Beyond App Centers own notification functionality, Microsoft have also partnered with <a href="https://onesignal.com/" target="_blank" rel="noopener noreferrer">OneSignal</a> who have a platform to send out mobile, web-based, and soon email push messages. As with App Center you can filter devices but with more granularity by setting custom tags. It also allows more flexibility over the appearance of messages by exposing more customisation options from iOS and Android platforms.</p><h2>Getting Started</h2><p>If youre already using App Center then youll see the new functionality within the portal. If not, you can <a href="https://appcenter.ms/create-account">sign up for a free App Center account</a> and create your first app. To use Auth and Data functionality youll also need an Azure account but you can start with <a href="https://azure.microsoft.com/en-gb/free/">a free trial</a>. Currently these new features are available for iOS and Android, with SDKs available for Swift, Objective-C, Java and C# developers.</p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/08/build-epic-apps-with-visual-studio-app-center/">Build Epic Apps with Visual Studio App Center</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/08/build-epic-apps-with-visual-studio-app-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Azure Sentinel &#8211; Average GB per day</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/#respond</comments>
				<pubDate>Thu, 03 Oct 2019 16:34:38 +0000</pubDate>
		<dc:creator><![CDATA[Clive Watson]]></dc:creator>
				<category><![CDATA[Cross-industry]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Azure Sentinel]]></category>
		<category><![CDATA[Hybrid Cloud]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/</guid>
				<description><![CDATA[<p>Why Average GB per day, it&#8217;s because that&#8217;s the information the Azure Pricing Calculator needs now that Azure Sentinel is released. This query looks at all billable data in your Log Analytics workspace and takes an average over the period. Example https://azure.microsoft.com/en-gb/pricing/calculator/ Then search for Sentinel / or look in the Security section. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; // </p>
<p><a class="read-more" aria-label="Read more about Azure Sentinel &#8211; Average GB per day" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/">Read more</a></p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/">Azure Sentinel &#8211; Average GB per day</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<p>Why Average GB per day, it&rsquo;s because that&rsquo;s the information the Azure Pricing Calculator needs now that Azure Sentinel is released. This query looks at all billable data in your Log Analytics workspace and takes an average over the period. <a href="https://ms.portal.azure.com#@72f988bf-86f1-41af-91ab-2d7cd011db47/blade/Microsoft_Azure_Monitoring_Logs/DemoLogsBlade/resourceId/%2FDemo/source/LogsBlade.AnalyticsShareLinkToQuery/q/H4sIAAAAAAAAA12QQUsDMRCF7wv7H94xKYXY6k1XoR6KB1FowWNJd6fdYDYDyWyXFX%252B82YJazWFgmPfmexNj8OjdifBmJXHAs6sjJz5IWRhTFp4EjR2T8IZsrFtUuF40tzAGr55sIlAQimh5QGfDeBZj4Cgt%252BJA7sRCGZ36HlYey6IPLlMFJm7iPNeWFIpiVxSeGliJh6zpaU6BohRrcI4mNwoe8V9kjq8swWsOG5p%252Fj7tIReFBaT6fgJfjxOwfq1saj3fuMm2r6xe%252Be0sp5f55VFbaxp2mY%252Bq6z0X3kBvltWaxfr0ahhCpyHxqVFWo3WanZZJ1Ri6vlzeynaD1fakzu%252FYi9C%252BpP6jkWjTZmjg37XvIPVSJ%252FsLCno7qgahRfpAG62boBAAA%253D">Example</a></p><p>https://azure.microsoft.com/en-gb/pricing/calculator/</p><p>Then search for Sentinel / or look in the Security section.<br></p><img alt="Azure Sentinel in the Pricing Calculator" width="1024" height="555" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/Annotation-2019-10-03-171944-1024x555.webp"><p>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;</p><p><code><br>// Clive Watson Microsoft<br>//<br>let daystoSearch = 31d; // Please enter how many days worth of data to look at?<br>union withsource = tt *<br>| where TimeGenerated &gt; startofday(ago(daystoSearch)) and TimeGenerated &lt; startofday(now())<br>// Only look at chargeable Tables<br>| where _IsBillable == True<br>| summarize<br>TotalGBytes =round(sum(_BilledSize/(1024*1024*1024)),2)<br>by bin(TimeGenerated, 1d)//, Solution=tt<br>| summarize avg(TotalGBytes)<br></code></p><p>In the demo system, the result is 37GB a day (at the moment).</p><p>avg_TotalGBytes<br><strong>36.75 </strong></p><p>Now you can add this to the calculator:</p><img alt="Sentinel Calculator" width="1024" height="692" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/Annotation-2019-10-03-173009-1024x692.webp"><p>For budgeting some might like to add a max figure rather than an average, in that case swap the last line to:</p><p><strong>| summarize avg(TotalGBytes), max(TotalGBytes)</strong></p><p>You can also just run, part of the query to get a daily graph</p><p><code><br>let daystoSearch = 31d; // Please enter how many days worth of data to look at?<br>union withsource = tt *<br>| where TimeGenerated &gt; startofday(ago(daystoSearch)) and TimeGenerated &lt; startofday(now())<br>// Only look at chargable Tables<br>| where _IsBillable == True<br>| summarize<br>TotalGBytes =round(sum(_BilledSize/(1024*1024*1024)),2)<br>by bin(TimeGenerated, 1d)<br>| render areachart kind=stacked title = "Azure Sentinel billable data"<br></code></p><img alt="Area chart of Sentinel usage" width="1024" height="373" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/Annotation-2019-10-07-113214-1024x373.webp"><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/">Azure Sentinel &ndash; Average GB per day</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/03/azure-sentinel-average-gb-per-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Using Containers to run R/Shiny workloads in Azure: Part 4</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/03/using-containers-to-run-r-shiny-workloads-in-azure-part-4/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/03/using-containers-to-run-r-shiny-workloads-in-azure-part-4/#respond</comments>
				<pubDate>Thu, 03 Oct 2019 09:00:02 +0000</pubDate>
		<dc:creator><![CDATA[Jon Machtynger]]></dc:creator>
				<category><![CDATA[TechNet UK]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/03/using-containers-to-run-r-shiny-workloads-in-azure-part-4/</guid>
				<description><![CDATA[<p>In the parts one, two and three of this series, I described how to build containers using Dockerfiles, then how to share and access them from Azure. In this part, well move briefly away from Python to look at R together with Shiny as a dynamic reporting and visualisation capability pulling data from a Postgres database.</p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/03/using-containers-to-run-r-shiny-workloads-in-azure-part-4/">Using Containers to run R/Shiny workloads in Azure: Part 4</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="An image of a cloud, surrounded by images of different cloud services, with a picture of Bit the Raccoon to the right." width="1920" height="700" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/sites/22/2018/06/automateaasmodelsheader.jpg"><p>In the parts <a href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/05/22/how-to-use-containers-part-1/" target="_blank" rel="noopener noreferrer">one</a>, <a href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/05/31/how-to-use-containers-part-2/" target="_blank" rel="noopener noreferrer">two</a> and <a href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/06/07/how-to-use-containers-in-data-science-with-docker-and-azure-part-3/" target="_blank" rel="noopener noreferrer">three</a> of this series, I described how to build containers using Dockerfiles, then how to share and access them from Azure. I then introduced data persistence using managed volumes and shared file systems, effectively developing locally with a globally accessible persistent state. Finally, I showed how to deploy multi-container applications using docker-compose.</p><p>In this part, well move briefly away from Python to look at R together with Shiny as a dynamic reporting and visualisation capability pulling data from a Postgres database. R is very popular with a number of clients I work with, and they also have an interest in being able to move from on-premises environments to a containerised deployment.</p><p>I wrote this as a simple guide, because Ive had a number of requests for guidance on how to test this exact pattern within their own Azure environments. As with previous parts to this series, I wont be focusing on best practice at this point. Im more concerned about showing more moving parts, each of which can act as learning points.</p><p>By the end of this blog, youll be able to create your own R/Shiny container that pulls data from an Azure Postgres service, and then access that container in a remote Azure deployment from a browser.</p><p>The first thing were going to do is to create a resource group to host everything. Im going to call this rshiny-rg and host it in eastus.</p><pre>$ az group create --name rshiny-rg --location eastus{ "id": "/subscriptions//resourceGroups/rshiny-rg", "location": "eastus", "managedBy": null, "name": "rshiny-rg", "properties": { "provisioningState": "Succeeded" }, "tags": null, "type": null}</pre><p>Next, well need to create a postgres database to hold some candidate data. Rather than manage our own Postgres server, Im going to use Azures own Postgres service. First, create the Postgres server, provide it with an admin username and password, a server size and a version.</p><pre>$ az postgres server create --resource-group rshiny-rg --name shiny-pg --location eastus --admin-user jonadmin --admin-password --sku-name B_Gen5_1 --version 9.6{ "administratorLogin": "jonadmin", . "fullyQualifiedDomainName": "shiny-pg.postgres.database.azure.com", . . "sslEnforcement": "Enabled", .}$</pre><p>There are some initial security checks to ensure that youre not using standard administrator names (e.g. admin), or non-trivial passwords. Keep a note of these, as youll need to use them later in this exercise.</p><p>Note that I used a very small basic server (B_Gen5_1) to host this. With the size of data being stored, and our performance expectations for this exercise, we only need a single core. Its also very inexpensive &ndash; $0.03/hour at the time of writing this.</p><p>Note the fully qualified domain name for your server, because well need it to connect later.</p><p>We also now need to create a firewall rule so we can interact with the server from an external environment. You will need to find out your IP address for this. This is the IP address that the internet thinks you have (not the one you might have on your machine). If you dont know it, you can continue, and wait for the error message later and come back to this point.</p><pre>$ az postgres server firewall-rule create --resource-group rshiny-rg --server shiny-pg --name AllowMyIP --start-ip-address x.x.x.x --end-ip-address x.x.x.x</pre><p>It should come back with a confirmation that this has been set up</p><pre>{ "endIpAddress": "x.x.x.x", "id": "/subscriptions//resourceGroups/rshiny-rg/providers/Microsoft.DBforPostgreSQL/servers/shiny-pg/firewallRules/AllowMyIP", "name": "AllowMyIP", "resourceGroup": "rshiny-rg", "startIpAddress": "x.x.x.x", "type": "Microsoft.DBforPostgreSQL/servers/firewallRules"}$</pre><p>I happen to have a postgres client on my Mac, but if you dont, you can get one from here. When I do this, its clear that I can now connect to the postgres server, and it provides a prompt to enter my password:</p><pre>$ psql --host=shiny-pg.postgres.database.azure.com --port=5432 --username=jonadmin@shiny-pg --dbname=postgresPassword for user jonadmin@shiny-pg:psql (11.5, server 9.6.14)SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)Type "help" for help.postgres=&gt;</pre><p>There are a couple of things to note here:</p><ol><li>Your username will be the name you provided earlier, followed by an @ and then your server name. In my case, the username is jonadmin@shiny-pg.</li><li>Youre connecting to the external host over SSL. Therefore, your Postgres client needs to support that.</li></ol><p>We need to create a database to hold our data and were going to use the Northwind database, which has more typically been used for Access and SQL Server. In this case, were going to use the same content for Postgres. There are a number of places to find this, but I found two files that gave me what I needed.</p><ul><li>northwind_ddl.sql creates the tables</li><li>northwind_data.sql loads the sample data</li></ul><p>Please look at the DDL and INSERT statements to ensure youre happy to use them.</p><p>Lets create the database:</p><pre>postgres=&gt; create database northwind;CREATE DATABASEpostgres=&gt;</pre><p>You should be able to see that this exists by using the \l command:</p><img alt="A screenshot showing that the database has been created." width="1022" height="251" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/dockerp4-0.png"><p>Now lets connect to it using \c followed by the database name:</p><pre>postgres=&gt; \c northwind;psql (11.5, server 9.6.14)SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)You are now connected to database "northwind" as user "jonadmin@shiny-pg".northwind=&gt;</pre><p>And now lets create the schema and load the content. I placed the northwind_ddl.sql and northwind_data.sql files in the same directory where I executed my psql command. I can therefore import the DDL commands using the \i command, and then import the data the same way. Note that the data import will take a bit more time to complete.</p><pre>northwind=&gt; \i northwind_ddl.sqlSET..SETDROP TABLE..DROP TABLECREATE TABLE..CREATE TABLEnorthwind=&gt;northwind=&gt; \i northwind_data.sqlSET..SETINSERT 0 1..INSERT 0 1northwind=&gt; \q$</pre><p>When its done, you can quit using \q.</p><p>Now well create a containerised R/Shiny server. Well initially do this on our local machine and then move that entire container to the cloud. Ill use a very simple application that takes the input from some sliders that provides a tabular output and a histogram based on those values. This is going to be dynamic, so when the sliders are moved, the data on the screen will also update. Lets look at the files were using:</p><pre>r-shiny/ App global.R server.R ui.R Dockerfile</pre><p>Within the r-shiny directory, we have a Dockerfile, and a sub-directory called App, which contains the actual Shiny application.</p><p>The application is composed of three parts:</p><p>1. A globals.R file defines libraries, our database connection details and some dynamic SQL queries based on slider values.</p><pre>library(RPostgreSQL)library(DT)library(plotly)library(rjson)library(pool)pool &lt;- dbPool( drv = dbDriver("PostgreSQL", max.con = 100), dbname = "northwind", host = "shiny-pg.postgres.database.azure.com", user = "jonadmin@shiny-pg", password = , idleTimeout = 3600000, minSize = 5)freight_maxmin &lt;- c(round(dbGetQuery(pool, "SELECT MAX(freight), MIN(freight) from orders;"), 2))order_id_maxmin &lt;- c(dbGetQuery(pool, "SELECT MAX(order_id), MIN(order_id) from orders;"))</pre><p>2. A server.R file that refreshes the tabular data and a histogram on changes to the sliders</p><pre>function(input, output, session) { output$table &lt;- DT::renderDataTable({ SQL &lt;- paste( "SELECT order_id, customer_id, order_date, freight from orders ", "WHERE order_id BETWEEN ?oid_min AND ?oid_max AND freight BETWEEN ?min and ?max;", sep=" ") query &lt;- sqlInterpolate(ANSI(), SQL, oid_min = input$order_id_selector[1], oid_max = input$order_id_selector[2], min = input$freight_selector[1], max = input$freight_selector[2]) outp &lt;- dbGetQuery(pool, query) ret &lt;- DT::datatable(outp) return(ret) }) output$distPlot &lt;- renderPlot({ SQL &lt;- paste( "SELECT freight from orders ", "WHERE order_id BETWEEN ?oid_min and ?oid_max and freight BETWEEN ?min and ?max;", sep=" ") histQry &lt;- sqlInterpolate(ANSI(), SQL, oid_min = input$order_id_selector[1], oid_max = input$order_id_selector[2], min = input$freight_selector[1], max = input$freight_selector[2]) histOp &lt;- dbGetQuery(pool, histQry) freight_cost &lt;- histOp$freight bins &lt;- seq(min(freight_cost), max(freight_cost), length.out = 11) hist(freight_cost, breaks = bins, col = 'darkgray', border = 'white') }) }</pre><p>3. A ui.R file describes the user interface composed of two slider inputs, a panel for the tabular output, and a histogram showing the distribution of freight costs.</p><pre>fluidPage( sidebarLayout( sidebarPanel( sliderInput("order_id_selector","Select Order ID", min = order_id_maxmin$min, max = order_id_maxmin$max, value = c(order_id_maxmin$min, order_id_maxmin$max), step = 1), sliderInput("freight_selector","Select Freight Ranges", min = freight_maxmin$min, max = freight_maxmin$max, value = c(freight_maxmin$min, freight_maxmin$max), step = 1) , plotOutput("distPlot", height=250) ), mainPanel( DT::dataTableOutput("table") ) ) )</pre><p>Now lets look at our <strong>Dockerfile</strong>:</p><pre>FROM rocker/shiny-verse:latest RUN apt-get update &amp;&amp; apt-get install -y \ sudo \ pandoc \ pandoc-citeproc \ libcurl4-gnutls-dev \ libcairo2-dev \ libxt-dev \ libssl-dev \ libssh2-1-dev RUN R -e "install.packages(c('shinydashboard','shiny', 'plotly', 'dplyr', 'magrittr', 'RPostgreSQL', 'DT', 'rjson', 'pool'))" RUN R -e "install.packages('gpclib', type='source')" RUN R -e "install.packages('rgeos', type='source')" RUN R -e "install.packages('rgdal', type='source')" COPY ./App /srv/shiny-server/App EXPOSE 3838 RUN sudo chown -R shiny:shiny /srv/shiny-server CMD ["/usr/bin/shiny-server.sh"]</pre><p>We start from a base image of rocker/shiny-verse. After installing some software as well as some R libraries, we then copy our application code from the local App directory to the /srv/shiny-server/App directory. This means that well be able to access this from the App directory within the browser. We expose port 3838 and then start our shiny server.</p><p>First build the container image.</p><pre>$ docker build -t r-shiny r-shiny Sending build context to Docker daemon 6.656kB Step 1/10 : FROM rocker/shiny-verse:latest ---&gt; 1d686b061097...Step 9/10 : RUN sudo chown -R shiny:shiny /srv/shiny-server---&gt; Running in 1b84bf06dfd2Removing intermediate container 1b84bf06dfd2---&gt; 474a71119ccfStep 10/10 : CMD ["/usr/bin/shiny-server.sh"]---&gt; Running in 98f5a8d6240aRemoving intermediate container 98f5a8d6240a---&gt; 6032d43c7703Successfully built 6032d43c7703Successfully tagged r-shiny:latest$</pre><p>With the container image built, we can now start it.</p><pre>$ docker run --rm -d -p 3838:3838 r-shiny8485ff49a982f479acb279359c15311fc61c9e27b277e597f3a57220bdd856e4$</pre><p>If I now go to a browser page, pointing at http://localhost:3838/App, I see the following:</p><img alt="A table and graph that shows every order in the database, as well as ways of filtering the data." width="1105" height="542" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/dockerp4-1.png"><p>This shows every order in our database, but we can also play with the sliders in the panel on the left, which dynamically changes the content of interest, showing both different orders and a different histogram of freight costs. Note that this is a very simple application with no error checking. So, if you play with the values, there will be times when the data returned is insufficient to provide histogram data. Ignore any errors and try other ranges.</p><img alt="A table and graph that shows every order in the database, as well as ways of filtering the data. The sliders on the left have been adjusted to change the content of interest." width="1104" height="537" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/dockerp4-2.png"><p>But were not finished yet. While the data sits in Azure, the container is still running on my laptop and Id like everything to be held in Azure so that it is accessible to multiple people.</p><p>Lets first create a container repository. Note the loginServer. Youll need this later.</p><pre>$ az acr create --resource-group rshiny-rg --name jmshinyreg --sku Basic --admin-enabled{"adminUserEnabled": true,."loginServer": "jmshinyreg.azurecr.io",."tags": {},"type": "Microsoft.ContainerRegistry/registries"}</pre><p>Now tag the container image we just built against our Azure repository. This allows us to push it to the cloud.</p><pre>$ docker tag r-shiny jmshinyreg.azurecr.io/shiny:1.0$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEr-shiny latest 250764631cac 29 minutes ago 1.91GBjmshinyreg.azurecr.io/shiny 1.0 250764631cac 29 minutes ago 1.91GB</pre><p>Log in to Azure Container Registry and push the tagged image to it. Then confirm that the image is there by querying the repository</p><pre>$ az acr login --name jmshinyregLogin Succeeded$$ docker push jmshinyreg.azurecr.io/shiny:1.0The push refers to repository [jmshinyreg.azurecr.io/shiny]54a8dd859e33: Pusheda43915702c3c: Pushed...1fe356c64d3b: Pushede2a8a00a83b2: Pushed1.0: digest: sha256:df221659fee38be8930b7740a903c4cdc7c61173f2d65da8fe786e0af5497ca5 size: 3268$$ az acr repository list --name jmshinyreg --output tableResult--------shiny$</pre><p>In Part 1 of this series, I shared a containerised Linux host through ssh. Now were exposing a browser-based application. In order to allow containers to be created, well need a service principle. The following script creates this for us and provides us with credentials. Modify the values of ACR_NAME and SERVICE_PRINCIPAL_NAME. I used jmshinyreg and jon-shiny-sp for mine.</p><pre>#!/bin/bash# Modify for your environment.# ACR_NAME: The name of your Azure Container Registry# SERVICE_PRINCIPAL_NAME: Must be unique within your AD tenantACR_NAME="jmshinyreg"SERVICE_PRINCIPAL_NAME=jm-shiny-sp# Obtain the full registry ID for subsequent command argsACR_REGISTRY_ID=$(az acr show --name $ACR_NAME --query id --output tsv)# Create the service principal with rights scoped to the registry.# Default permissions are for docker pull access. Modify the '--role'# argument value as desired:# acrpull: pull only# acrpush: push and pull# owner: push, pull, and assign rolesSP_PASSWD=$(az ad sp create-for-rbac --name http://$SERVICE_PRINCIPAL_NAME --scopes $ACR_REGISTRY_ID --role acrpull --query password --output tsv)SP_APP_ID=$(az ad sp show --id http://$SERVICE_PRINCIPAL_NAME --query appId --output tsv)# Output the service principal's credentials; use these in your services and# applications to authenticate to the container registry.echo "Service principal ID: $SP_APP_ID"echo "Service principal password: $SP_PASSWD"</pre><p>When I run this, Im returned a secure principle ID and a password. Ive obscured mine for obvious reasons, but you will need these for later, so make a copy.</p><pre>Service principal ID: 6xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx2Service principal password: 6xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxf</pre><p>Now lets create and deploy a container, which Ive call rshiny. Ive given it a relatively unique name jm-shiny-svr, which will form part of the fully qualified name later.</p><pre>$az container create --resource-group rshiny-rg --name rshiny --image jmshinyreg.azurecr.io/shiny:1.0 --cpu 1 --registry-login-server jmshinyreg.azurecr.io --dns-name-label jm-shiny-svr --ports 3838 --registry-username 4xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxxxxxx1 --registry-password fxxxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxxxxxx5{..}$</pre><p>The containers fully qualified domain name is part of that JSON response, but you can also find the fully qualified DNS name for your new container using the following:</p><pre>$ az container show --resource-group rshiny-rg --name rshiny --query ipAddress.fqdn"jm-shiny-svr.eastus.azurecontainer.io"$</pre><p>So, lets go to the container, which is now running in the cloud. Remember that you need to reference port 3838, and that the shiny application is underneath the App directory.</p><img alt="A screenshot of an error message that says an error has occurred and the application failed to start." width="594" height="255" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/dockerp4-3.png"><p>What happened? Fortunately, we can understand this in a little more detail using the az container logs command.</p><pre>$ az container logs --resource-group rshiny-rg --name rshiny...[2019-08-26T09:20:22.819] [INFO] shiny-server - Error getting worker: Error: The application exited during initialization.Error in postgresqlNewConnection(drv, ...) :RS-DBI driver: (could not connect jonadmin@shiny-pg@shiny-pg.postgres.database.azure.com:5432 on dbname "northwind": FATAL: no pg_hba.conf entry for host "40.76.197.161", user "jonadmin", database "northwind", SSL onFATAL: SSL connection is required. Please specify SSL options and retry.)Calls: runApp ... -&gt; -&gt; postgresqlNewConnectionExecution halted</pre><p>It seems that because the container cant reach the Postgres server, the application failed. This is easy to address by simply providing a firewall rule to allow entry to the IP address referenced in the error log.</p><pre>$ az postgres server firewall-rule create --resource-group rshiny-rg --server shiny-pg --name AllowMyIP --start-ip-address 40.76.197.161 --end-ip-address 40.76.197.161{"endIpAddress": "40.76.197.161","id": "/subscriptions//resourceGroups/rshiny-rg/providers/Microsoft.DBforPostgreSQL/servers/shiny-pg/firewallRules/AllowMyIP","name": "AllowMyIP","resourceGroup": "rshiny-rg","startIpAddress": "40.76.197.161","type": "Microsoft.DBforPostgreSQL/servers/firewallRules"}</pre><p>If you now refresh the page, you should see a working app.</p><img alt="A screenshot of the data in the database with different filtering options, with the URL of the page highlighted with a red arrow." width="1311" height="539" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/dockerp4-4.png"><p>Once youve finished playing with this, you may now like to clear up your environment by removing the resource group holding your Postgres database, and container repository.</p><pre>$ az group delete --name rshiny-rg</pre><p>&nbsp;</p><h2>Conclusion</h2><p>This concludes the fourth part of our series. We diverted from a pure Python approach and touched on containerising R payloads. In addition, we started integrating with PaaS services such as Postgres and looked at some of the implications including security.</p><p>There is still more to focus on in this series including being able to scale containers out using capabilities such as Kubernetes. In addition, Ill demonstrate how to integrate Cognitive services and start considering the operationalisation of the data science pipeline.</p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/03/using-containers-to-run-r-shiny-workloads-in-azure-part-4/">Using Containers to run R/Shiny workloads in Azure: Part 4</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/03/using-containers-to-run-r-shiny-workloads-in-azure-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Azure Sentinel &#8211; Costing Estimate (PAYG)</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/#respond</comments>
				<pubDate>Tue, 01 Oct 2019 15:31:41 +0000</pubDate>
		<dc:creator><![CDATA[Clive Watson]]></dc:creator>
				<category><![CDATA[Cross-industry]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Azure Sentinel]]></category>
		<category><![CDATA[Hybrid Cloud]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/</guid>
				<description><![CDATA[<p>In this example, now that Azure Sentinel is Generally Available (GA) we can look at the Azure Monitor Logs (Log Analytics) and Azure Sentinel charges. I have used Pay as You Go (PAYG) for both, using USD $ and EASTUS as the region, but please feel free to adapt to you local region or currency. </p>
<p><a class="read-more" aria-label="Read more about Azure Sentinel &#8211; Costing Estimate (PAYG)" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/">Read more</a></p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/">Azure Sentinel &#8211; Costing Estimate (PAYG)</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<p>In this example, now that Azure Sentinel is Generally Available (GA) we can look at the Azure Monitor Logs (Log Analytics) and Azure Sentinel charges. I have used Pay as You Go (PAYG) for both, using USD $ and EASTUS as the region, but please feel free to adapt to you local region or currency. You need data in your Azure Monitor Logs workspace for this to work.<br><strong><br>Also see<br><a href="https://azure.microsoft.com/en-gb/pricing/calculator/">https://azure.microsoft.com/en-gb/pricing/calculator/</a></strong></p><p>Example Query</p><p><code><br>// Disclaimer: All prices shown are in USD ($). This is a summary estimate, not a quote.<br>// source: https://azure.microsoft.com/en-us/pricing/<br>// Clive Watson Microsoft<br>//<br>let daystoSearch = 31d; // Please enter how many days worth of data to look at?<br>let ala_payg = 2.30; // Azure Log Analytics Pricing ($ USD EASTUS PAYG)<br>let sen_payg = 2.00; // Azure Sentinel Pricing ($ USD EASTUS PAYG)<br>union withsource = tt *<br>| where TimeGenerated &gt; startofday(ago(daystoSearch)) and TimeGenerated &lt; startofday(now())<br>// Only look at chargable Tables<br>| where _IsBillable == True<br>| summarize<br>TotalGBytes =round(sum(_BilledSize/(1024*1024*1024)),2),<br>EstimatedALA_USD=round(ala_payg * sum(_BilledSize/(1024*1024*1024)),2),<br>EstimatedSEN_USD=round(sen_payg * sum(_BilledSize/(1024*1024*1024)),2),<br>OldestRecord =min(TimeGenerated), NewestRecord=max(TimeGenerated)<br>by Solution=tt<br>| sort by TotalGBytes desc<br>// stop query here if you want a row by row breakdown (per Table)<br>| summarize TotalGB =sum(TotalGBytes),<br>LogAnalyticsCost =sum(EstimatedALA_USD),<br>SentinelCost =sum(EstimatedSEN_USD),<br>EstimatedTotalCost=sum(EstimatedALA_USD + EstimatedSEN_USD),<br>DaysSearched =daystoSearch<br></code></p><p>&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;-</p><p>You can comment out or just run the lines above the final &ldquo;summarize&rdquo;, if you&rsquo;d like to see a row by row breakdown of the data.</p><p>Run the above on our demo data <a href="https://ms.portal.azure.com#@72f988bf-86f1-41af-91ab-2d7cd011db47/blade/Microsoft_Azure_Monitoring_Logs/DemoLogsBlade/resourceId/%2FDemo/source/LogsBlade.AnalyticsShareLinkToQuery/q/H4sIAAAAAAAAA6VTTW%252FTQBC9R8p%252FmAMHu4S4H5xaDHI%252FVCGVtsKpEKdoa0%252FiVde7YXeMccWPZ9ZOjGPKBVaRI3vnvZl9b18UwaV0mRKyRHsKiVKwsTJDB64wtQZhEaSGh%252FQSglfhHBaFdMA%252FAa4qS2EbQEeyFIQz0Ib4%252B7fKEM6nkygCZyqb4SkURBt3GkXiubI4L2VmjTMrmmemjFC%252FqVzke0q9jlrYhZLfEb4IckbDp12135pOFBLkonFkUhQ2KyCGk6P8DIBx9wqFQ0BNaIGnh1Lopq2G2lgqwKz4jQSQAWXMEwj60DEKJZYb0azBrxiO5yeHZ54x8QPDjVlDooVqSGYO7rtRWY5WlaskXTykcJ98vQ6hY3Oo99kOh2wpzyc1qp6oXS%252BwTSeVlqxALanolGQyIjiYTn5CXSBzLdi1a9RoWf8c3oMjYcms%252BMiBWJtgKFQYgtD5CPFuiNCmDsKwdeBOq2YnEWSFsGvxqLidf7rf7Zcf3blUqt2LY1jYCv1mdzPkM7%252FAYC0MCXV93hBfrlYZayqdB1wdLD0N5iljouDo8PjtQf8Iw9lxONtnutpeuTy5SZYs25apd%252FEA%252Foc0vbodkPZm%252FhPpnco5H58xMzZvz1xKHex5EM7gFuu%252BKC7Fj1GBZ3xsIDWqIr4PMVErMt9o%252F3moKvfKuuCR2XAQkePZGiVX0JgKaqF9Qi1Hg5Htn0XxlPugBxsOTWtwuOfhrsHgULEXYtB3fGjOSx%252BXC%252BNoixi7NobtgtFB%252BkZjX%252F7qWzuRB7%252FYDV7%252F4fCY6ZLj0oUF8%252B0AwwRNJ78AxBb5Ny0FAAA%253D">here </a><br><strong><br>Example output</strong></p><img alt="a screenshot of cost output" width="755" height="68" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/10/Annotation-2019-10-01-161854.jpg"><p>I&rsquo;m looking to add the retention and Capacity Reservation &ndash; would that be of interest?</p><p>Thanks Clive<br>Find me on <a href="https://techcommunity.microsoft.com/t5/Azure-Log-Analytics/bd-p/AzureLogAnalytics">https://techcommunity.microsoft.com/t5/Azure-Log-Analytics/bd-p/AzureLogAnalytics </a></p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/">Azure Sentinel &ndash; Costing Estimate (PAYG)</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/azure-sentinel-costing-after-ga-with-payg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>How to introduce a learn-it-all culture in your business: 3 steps to success</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/#respond</comments>
				<pubDate>Tue, 01 Oct 2019 11:00:34 +0000</pubDate>
		<dc:creator><![CDATA[Jo Sweales]]></dc:creator>
				<category><![CDATA[Cross-industry]]></category>
		<category><![CDATA[Blogger Series]]></category>
		<category><![CDATA[Digital skills]]></category>
		<category><![CDATA[Digital Transformation]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Skills]]></category>
		<category><![CDATA[Social Transformation]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/</guid>
				<description><![CDATA[<p>Weve all come across know-it-alls in life. Those who are closed to a different perspective and theyre not interested in listening to your opinions or discovering your talents. They already know it. Likewise, everyones met a curious learn-it-all; someone whos keen to obtain as much information, different points of view and detail as they can </p>
<p><a class="read-more" aria-label="Read more about How to introduce a learn-it-all culture in your business: 3 steps to success" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/">Read more</a></p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/">How to introduce a learn-it-all culture in your business: 3 steps to success</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="a person sitting at a desk looking at a laptop" width="1024" height="576" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/ID-5917-Blogger-Series-How-To-Introduce-A-Learn-It-All-Culture-1920x1080-no-profile-1024x576.webp"><p>Weve all come across know-it-alls in life. Those who are closed to a different perspective and theyre not interested in listening to your opinions or discovering your talents. They already know it.<span id="more-17343"></span></p><p>Likewise, everyones met a curious learn-it-all; someone whos keen to obtain as much information, different points of view and detail as they can in order to perform to the best of their ability and deliver the greatest results. They understand that feedback is crucial to both bring the best solutions and their best selves everyday.</p><p>&nbsp;</p><p>These perspectives dont just describe people. They also define company culture.</p><p>Microsoft CEO Satya Nadella has spent the past few years focused on transforming Microsoft into a learn-it-all culture, believing that the &lsquo;learn-it-all&rsquo; perspective and growth mindest will always perform better.</p><p>In short, the difference between a know-it-all and a learn-it-all is success.</p><p>&nbsp;</p><h2>1. Skill up your employees</h2><p>The know-it-all and the learn-it-all is inextricably tied to mindsets a concept that lies behind the psychology of success.</p><p>According to Carol Dweck, the Stanford psychologist who inspired Satya and so many others, there are two types of mindsets. Both mindsets dictate how we learn, what we learn, or whether we learn anything at all. Dweck dubs these the fixed mindset and the growth mindset.</p><ul><li>Fixed mindset</li></ul><p>A fixed mindset says that intelligence is static. As such, the need to appear intelligent outweighs the need to actually stay intelligent, leading those with this type of mindset to avoid challenges, ignore feedback, and abstain from effort.</p><ul><li>Growth mindset</li></ul><p>A growth mindset believes that intelligence can be developed. This desire to learn leads to persistence in the face of challenges, learning from feedback, and finding inspiration in the success of others.</p><p>&nbsp;</p><p>This growth mindset is central to everyones success and one that, at Microsoft, every employee from the CEO down has fully embraced. The desire to push ourselves defines our company culture, with people encouraged to develop their skills, to the benefit of the individual and the wider business. Its difficult, if not impossible, for you and your employees to gain new skills if you work in a culture that says weve learned all we can.</p><p>Naturally, this isnt an end-point to learning and developing employee skills. This is just the beginning. However, its a statement of intent, to provide every person in the organisation with the support they need to grow.</p><p>If youre considering shaking up your company culture, bringing it more into line with the learn-it-all culture of Microsoft, this is a great place to start.</p><p><strong></strong></p><h2>2. Create space to learn</h2><p>You can bring in a number of different solutions to encourage a company culture that chimes with your beliefs and values.</p><p>For instance, one of the key things weve implemented for Microsoft employees is a quarterly learning day. Occasionally, businesses are wary of these initiatives, however its critical to look beyond the here-and-now, and focus on the long-term benefits of a constantly evolving workforce and culture thats engaged; productivity, creativity, and morale all receive a boost that benefits your business.</p><p>The space and time to learn on these quarterly learning days means people dont need to seek permission to learn.</p><p>Of course, when were busy, learning and skills development is the first thing to get pushed down the list. So, its not the sole answer, but its one method for encouraging the skilling up of your workforce.</p><p>Part of the problem is that learning and development is often presented as a series of deadlines. Its not about what an employee can learn; its about when certain courses are due for completion. This restrictive view stifles learning for a large percentage we all learn new skills in different ways and at different paces. At Microsoft, were moving to more of a constant drum beat that doesnt just talk about deadlines, but about whats available and how it will help them both now and in the future.</p><p>&nbsp;</p><h2>3. Use data-driven insight to support your employees</h2><p>The learning and development function is moving from being a reporting role to more of a marketing role. Analytics and AI is key to success. Thats something any organisation requires when introducing an L&amp;D-focused culture. We need data-driven insights to support learning and identify what it is that people need and want.</p><p>This helps inform the direction of your culture, helping you support your employees while continuing to learn and grow as a company.</p><p>Thats what its really all about.</p><p>Even for a company as large as Microsoft, we may not have got it totally nailed, and there isnt a right answer, but we have an aspiration, which has allowed us to put the culture and programmes in place to help support the team.</p><p>&nbsp;</p><p>If youre keen to begin your learning and development journey, visit our <a href="https://www.microsoft.com/en-gb/athome/digitalskills/" target="_blank" rel="noopener noreferrer">Digital Skills hub</a>. Youll find plenty of tips and practical advice for <a href="https://www.microsoft.com/en-gb/athome/digitalskills/improve/" target="_blank" rel="noopener noreferrer">transforming your business</a>, and nurturing key digital skills across your organisation.</p><p><a href="https://www.microsoft.com/en-gb/athome/digitalskills/exceed/" target="_blank" rel="noopener noreferrer">The AI Academy</a> and <a href="https://www.microsoft.com/en-us/ai/ai-business-school" target="_blank" rel="noopener noreferrer">AI Business School</a> meanwhile, will set you on the path to becoming an AI-proficient business leader and help transform your business outcomes using intelligent, advanced technology.</p><p>&nbsp;</p><h2>About the author</h2><p><em><img alt="Jo Sweales headshot" width="150" height="150" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/Jo-Sweales-headshot-150x150.webp">Jo is a Senior Business Program Manager for Microsoft. She leads the landing of learning programs in the UK to support business transformation and cultural change from a know it all to a learn it all culture. Prior to Microsoft Jo spent over 20 years in other large technology companies supporting, building and delivering learning solutions for both employees and customers, and has a wealth of Industry experience. Jo is passionate about learning and skills development, and is excited to see that learning is now rising up to boardroom level discussions. The value and influence of learning on business success is starting to be realised.</em></p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/">How to introduce a learn-it-all culture in your business: 3 steps to success</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/introduce-learn-it-all-culture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>The team you never knew you had: 5 ways Microsoft can help secure your business</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/#respond</comments>
				<pubDate>Tue, 01 Oct 2019 10:30:17 +0000</pubDate>
		<dc:creator><![CDATA[Stuart Aston]]></dc:creator>
				<category><![CDATA[Cross-industry]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Azure Sentinel]]></category>
		<category><![CDATA[Blogger Series]]></category>
		<category><![CDATA[Cyber-security]]></category>
		<category><![CDATA[MFA]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/</guid>
				<description><![CDATA[<p>The average enterprise has something like 75 vendors involved in their cyber-security, compliance and identity management. Each additional third-party tool you use will require some level of integration. By moving to a natively integrated suite of tools, youll reduce your overall spend, the amount of training required, the manual workload on your staff, and the </p>
<p><a class="read-more" aria-label="Read more about The team you never knew you had: 5 ways Microsoft can help secure your business" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/">Read more</a></p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/">The team you never knew you had: 5 ways Microsoft can help secure your business</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="A modern office ensuring cyber-security" width="1024" height="576" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/2019/09/ID-5879-Blogger-Series-5-Ways-Microsoft-Can-Help-Secure-Your-Business-1920x1080-no-profile-1024x576.webp"><p>The average enterprise has something like 75 vendors involved in their cyber-security, compliance and identity management. Each additional third-party tool you use will require some level of integration.<span id="more-17205"></span></p><p>By moving to a natively integrated suite of tools, youll reduce your overall spend, the amount of training required, the manual workload on your staff, and the scale of your attack surface.</p><p>Cyber-security is a bit like an insurance policy we are never quite sure how much is enough or if we have all the risks covered. Im often asked how do we solve cyber-crime, how can we make it stop? Think of cyber-crime in the same way as you would a burglary. Its a criminal activity and its not going away any time soon. We can, however, put measures in place to make it harder and reduce the time to detection.</p><p>Here are five ways Microsoft can help you keep your business secure, without compromising productivity:</p><p>&nbsp;</p><h2>1. The cloud is a security imperative</h2><p>According to the 2019 Verizon Data Breach Report, 32% of breaches involved phishing, 29% involved stolen credentials and 56% of breaches took months or longer to discover.</p><p>The average time to detection in Europe and the US is about 70 days. That means a cyber-security attacker has access to your data for over two months before you find out they are there. That can have an incredible impact on customer trust.</p><p>Through cloud platforms, were able to do things that wed never be able to do previously with a multitude of on-premises security solutions and can look at a global threat, in real time and at hyper scale.</p><p>&nbsp;</p><h2>2. Harnessing the power of data and intelligent technology</h2><p>We see something like six-and-a-half trillion suspicious events every day. We can then leverage machine learning to rationalise those threats to something thats actually actionable by humans, assuming that its not an event we automatically remediate them, across the world. As threats develop around the world, we analyse and remediate them locally and use that same remediation to protect all of the customers globally, while they are asleep, before you even get to work.</p><p>&nbsp;</p><h2>3. Staying up to date with the latest threats</h2><p>Ransomware still makes headlines. However, we encounter it at much lower volumes compared to other malware, and tactics such as crypto-currency mining. Ransomware attacks happen when bad actors encrypt and threaten to delete a users or organisations valuable information unless they pay a ransom.</p><p>Ransomware has been on the decline in recent times since victims have not been paying the ransoms and companies have been able to retrieve locked up files from their backups. Still, it continues to be a threat in some regions, primarily due to a lack of security hygiene, with occasional spikes in encounter rates.</p><p>&nbsp;</p><h2>4. Secure and convenient authentication</h2><p>The Identity Security and Protection team sees an ever-increasing number of user accounts attacked. A large majority of these compromises are the result of weak, guessable passwords and poor password management, followed by targeted phishing attacks and breaches of third-party services. Over the past year 81% of all attacks were the result of weak/compromised credentials.</p><p>Were investing in the next gen of authentication solutions, such as password-less authentication, where you can eliminate passwords entirely from the end-user flow.</p><p>We also continue to invest in tried and tested solutions such as multi-factor authentication, as well as innovative cloud-powered solutions like Azure AD Password Protection. This helps you secure your user credentials, without compromising productivity.</p><p>&nbsp;</p><h2>5. Zero trust security policies</h2><p>Organisations today are moving beyond the physical security perimeter and using models like Zero Trust, where every service is treated as though it were on the open internet and any access is verifiedusing a variety of identity, device, app, location, and risk conditions.</p><p>This dramatically reduces the risk of breaches and provides more granular control.</p><p>Azure AD Conditional Access helps you achieve Zero Trust and can be used to protect information through controls that can allow, block, or limit access. Rather than one rule for all, access is granted, limited, or denied based on a combination of user risk and session risk.</p><p>&nbsp;</p><h2>The team you never knew you had</h2><p>At Microsoft, weve been servicing enterprise for more than 30 years. No one comes close to our experience in combating cyber-security and understanding the needs of customers.</p><p>We invest $1 Billion in security annually, have more than 3,500 security experts focused on security, and access to a network of data centres around the globe.</p><p>&nbsp;</p><p>&nbsp;</p><h2>About the author</h2><p><em><img alt="Stuart Aston" width="150" height="150" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/sites/22/2018/10/stuart-aston-2-150x150.jpg"></em></p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/">The team you never knew you had: 5 ways Microsoft can help secure your business</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/cross-industry/2019/10/01/5-ways-microsoft-secure-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
		<item>
		<title>Using state-of-the-art technology for state-of-the-art customer experiences</title>
		<link>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/01/using-state-of-the-art-technology-for-state-of-the-art-customer-experiences/</link>
				<comments>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/01/using-state-of-the-art-technology-for-state-of-the-art-customer-experiences/#respond</comments>
				<pubDate>Tue, 01 Oct 2019 10:00:48 +0000</pubDate>
		<dc:creator><![CDATA[Chris Walden]]></dc:creator>
				<category><![CDATA[TechNet UK]]></category>

		<guid isPermaLink="false">https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/01/using-state-of-the-art-technology-for-state-of-the-art-customer-experiences/</guid>
				<description><![CDATA[<p>Competition can be tough, and companies need to provide smarter interactions with customers to survive. As a result, weve seen a trend over the last couple of years indicating that more businesses are assigning larger budgets for projects that help deliver next-generation communications.</p>
<p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/01/using-state-of-the-art-technology-for-state-of-the-art-customer-experiences/">Using state-of-the-art technology for state-of-the-art customer experiences</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>
]]></description>
								<content:encoded><![CDATA[<img alt="A drawing that represents the cloud and AI, next to an image of Bit the Raccoon on the right." width="1920" height="700" src="https://cloudblogs.microsoft.com/industry-blog/wp-content/uploads/industry/sites/22/2019/09/azureaiheader.jpg"><p>Customers today arent the same as the customers of yesterday. Now, customers expector rather, demandseamless, effective interactions with organisations:</p><ul><li>Anytime access to information</li><li>Direct, personalised communication</li><li>Fast answers to questions</li></ul><p>The competition is tough and companies need to provide this kind of interaction to survive. As a result, weve seen a trend over the last couple of years indicating that more businesses are assigning larger budgets for projects that help deliver next-generation communications.</p><h2>What do customers expect?</h2><p>Sell it and they will come is no longer a valid mantra. Customers now have a wider choice of suppliers and more information about services and products than ever before. Organisations must differentiate themselves to attract new customers and hold on to existing ones. Customers want flexibility in communication during all phases of transactions:</p><ul><li>Before a commitment is made, customers want more information that fits their personal desires and needs</li><li>When customers are ready to enter into a transaction, they want to be guided in a quick and easy way that gives them the best product or service</li><li>When the deal is closed, customers expect a high level of personalised after-sales support</li></ul><p>To deliver this experience, companies need to know their customers. Fortunately, organisations have years of experience in capturing data. Most organisations use customer relationship management (CRM) systems <a href="https://dynamics.microsoft.com/en-gb/crm/what-is-crm/" target="_blank" rel="noopener noreferrer">such as Dynamics CRM</a> to store, inspect, and access data about their customers. The more insight organisations have, the more competitive they can be.</p><p>&nbsp;</p><h2>Technology as an enabler</h2><p>Here, we explore three technologies that can help businesses create a better connection with customers.</p><h3>Internet of Things</h3><p>These days, the Internet of Things (IoT) is almost everywhere. IoT is what we use to describe devices with added intelligence and ways of capturing data which is then shared on the internet. For instance, think about a smart thermostat that transmits data such as the current temperature, desired temperature, times people come home or leave for work and can adjust accordingly to meet the customers requirements and keep the home at an ambient temperature this is a form of automation and helps manage a part of your customers busy lives.</p><p>There are numerous potential applications of IoT in customer interactions. Retail companies can use IoT solutions to collect data about visitors in their stores and online, to create a better idea of their interests and purchasing habits. This data can be used to learn more about the customers individually or as a group.</p><p>Predictive Maintenance is a popular IoT solution at the moment for example if a company produces an intelligent thermostat, they can use the telemetry to predict failures and proactively inform the customer about device servicing. Or, going back to the retail example, a store owner can use an IoT-based camera to identify their known customers and give them personalised promotions the moment they enter the store.</p><ul><li>Learn more about <a href="https://azure.microsoft.com/en-gb/product-categories/iot/" target="_blank" rel="noopener noreferrer">Azure IoT Services</a></li></ul><p>&nbsp;</p><h3>Machine learning</h3><p>Just because theres more data than ever before from more sourcesfor example, IoT devices, CRM systemsdoesnt mean we have more useable information. Information is data that has value for the right person at the right time and place. Organisations need to analyse this data in order to get insight from it. Machine learning can help companies:</p><ul><li>Make predictions about buying behaviour</li><li>Create personas based on customers with similar characteristics</li><li>Make recommendations based on customer profiles</li></ul><p>By using data, organisations can understand their customers better and interact with them in a more meaningful and effective way at all parts of the buying cycle.</p><ul><li>A customer building recommendation system into their online presence for upsell capability,</li><li>using computer vision to analyse images of clothes and have an intelligent search function across a retail catalogue (search for yellow dress extra with natural language).</li><li>Automatically extract key words and phrases + sentiment from product/service reviews to measure customer service improvement or trends internally via dashboards</li></ul><p>Sound good? Be sure to look into further Azure options, such as <a href="https://dev.botframework.com/" target="_blank" rel="noopener noreferrer">Azure Cognitive Services</a>, <a href="https://azure.microsoft.com/en-gb/services/machine-learning-studio/" target="_blank" rel="noopener noreferrer">Azure Machine Learning Studio</a> and <a href="https://docs.microsoft.com/en-us/azure/search/cognitive-search-concept-intro" target="_blank" rel="noopener noreferrer">Azure Cognitive Search</a>, which are great next-steps to take when exploring machine learning.</p><p>&nbsp;</p><h3>Bots</h3><p>Customers expect anytime access to the organisations they interact with. Through IoT and Machine Learning, organisations accumulate customer information that can improve and personalise interactions through the use of bots.</p><p>For example, when connecting the Bot framework to the results of the machine learning modules, organisations can deliver quicker responses to customer questions. Since a lot is already known about that customer, the organisation can give them highly personalised and effective answers in an automated way through bots. And the more intelligence an organisation can deliver to its customers, the easier the interaction becomes and time-to-solve the problem has been reduced compared with long waiting times when calling on the phone.</p><ul><li>Learn more about the <a href="https://dev.botframework.com/" target="_blank" rel="noopener noreferrer">Microsoft Bot Framework</a></li></ul><p>&nbsp;</p><h2>What does that mean to the developer?</h2><p>Customer satisfaction is something all businesses need to work on. By learning about IoT, Machine Learning, and the Bot Framework, you can give your business a competitive advantage.</p><p>Combining these three powerful technologies will give your organisation greater insight into your customers and their needs, and help you communicate with them in a more effective way. We will see more and more of this in the future, so start now by learning about these techniques.</p><p>&nbsp;</p><h2>Next steps</h2><ul><li>The best way to prepare yourself as a developer is to learn about bots, AI, and IoT. There are several tutorials online on Microsoft Learn: <a href="https://docs.microsoft.com/en-us/learn/paths/create-bots-with-the-azure-bot-service/" target="_blank" rel="noopener noreferrer">Create Intelligent Bots with the Azure Bot Service</a>.</li><li>To learn how to build bots, follow If you are curious about Machine Learning, I suggest using <a href="https://docs.microsoft.com/en-us/azure/machine-learning/studio/create-experiment" target="_blank" rel="noopener noreferrer">QuickStart: creating your first experiment in Azure Machine Learning Studio</a>.</li><li>Finally, if you want to learn about IoT, go to <a href="https://docs.microsoft.com/en-us/azure/iot-fundamentals/iot-introduction" target="_blank" rel="noopener noreferrer">What is Azure Internet of Things (IoT)</a><span>.</span></li></ul><p>&nbsp;</p><p>The post <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/01/using-state-of-the-art-technology-for-state-of-the-art-customer-experiences/">Using state-of-the-art technology for state-of-the-art customer experiences</a> appeared first on <a rel="nofollow" href="https://cloudblogs.microsoft.com/industry-blog/en-gb">Microsoft Industry Blogs - United Kingdom</a>.</p>]]></content:encoded>
							<wfw:commentRss>https://cloudblogs.microsoft.com/industry-blog/en-gb/technetuk/2019/10/01/using-state-of-the-art-technology-for-state-of-the-art-customer-experiences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
							</item>
	</channel>
</rss>