Welcome GDPR friends :) Part one is: https://the.agilesql.club/blogs/Ed-Elliott/2018-02-01/GDPR-Panic-Part-1 This is part two: https://the.agilesql.club/blogs/Ed-Elliott/2018-02-01/GDPR-Panic-Part-2 Part three is: https://the.agilesql.club/blogs/Ed-Elliott/2018-02-01/gdpr-panic-part-3 In this part, I am going to have a look at previous action the ICO has taken to give some context to the scary sounding 4% turnover or millions of pounds you will receive if you do something wrong. We obviously can’t predict exactly how an enforcement action will go, but we can think about the sort of things we should be doing, before during and after a breach.
GDPR is coming (or if you are reading this in a few weeks then gdpr is here, what do you need to know and where do you start? This post is based on how gdpr will apply to the UK. I have nothing against the EU, but in the UK it is the ICO which governs GDPR. Each country is allowed to add specific requirements, and each country does so if you are looking for how GDPR applies to another country the ICO can’t help you sorry.
I have been working with azure arm functions for quite a while and they are exceptionally useful but also quite a pain to work with, visualizing what it is that the functions will resolve to is often hard. If you haven’t used an ARM template, ARM templates are JSON documents which are effectively a whole load of properties made up of a name and a value. The value can either just be a value or it can include arm template functions.
I have had a problem with DSC in Azure Automation for a few months now, there was a change made to the xSqlServer DSC resource which meant that the paths internally were too long to be compiled on Azure Automation, I don’t even really want to think why because the fact that path lengths are an issue in 2017 (almost 2018!) makes me want to cry, so if you want to know more look at:
There are a few different choices for tools to use when it comes to SQL Server, while the “experienced” amongst us have used query analyzer, enterprise manager and probably ssms it isn’t always clear what tool you should use. If you consider sql operations studio and vscode it is a literal minefield of possible options. I was quite pleased with how my https://the.agilesql.club/WhatTheIO/ tool worked out and so I thought I would build a simple multiple choice quiz to help people decide between SSMS, SSDT, SOS, VSCode + mssql add-in:
Writing infrastructure as code is pretty nice and I enjoy the declarative approach of defining what you want and letting the tooling take care of the how. I guess this is because of my background as a SQL developer. What I don’t like so much is the development experience and if you don’t get this part right it can be a right pain. What are the challenges? The first real challenge is writing the correct json for each thing you want to create.
ARMED, where is the source? For quite a few years I’ve been putting everything I wrote on github and made most of it open source with a permissive license like MIT or Apache2. If anyone asked then I would be happy to change any licenses, whatever they wanted but with this new extension I haven’t put it on github. Basically it is freeware, I wrote it in TypeScript which compiles to JavaScript so if you want the JavaScript you can just read it, I prefer reading and debugging TypeScript but as it isn’t compiled to machine code the extension effectively ships with the source.
I think the title sums it up, I have published a new version of ARMED the arm helper extension for VSCode. This version includes the ability to see a graph of the resources and how they relate to each other: There are a couple of limitations at the moment this knows about child resources and also resources referenced via dependOn, if you have an implicit reference using “resourceId” then I don’t pick it up (yet).
I have been working with ARM templates for a little while and have found it really annoying to test functions inside the templates, you see if you have an ARM template it is a JSON document made up of lots of key/values like: {"name": "a_name"} but it is slightly more complicated because there is a set of functions in a javascript like language you can use in the values so you might have:
UPDATE: I haven’t been keeping it up to date so deprecated it - if you find something like this useful moan at microsoft and get them to implement it! I keep having to refer to the virtual machine size page and the disks pricing page to work out how best to stripe disks for whichever type of virtual maching in Azure to work out what sort of throughput we can get so I thought I would save myself some ink and automate it, hopefully someone else finds this useful.