Category: Azure

Ambition and Drive to Learn Azure – Part 2

To follow-up on my earlier post on Ambition and Drive to Learn Azure I’m happy to share with you an update on where I am at with the Azure exams.


Developer Exams (200 and 201 gives me Azure Developer Associate)

AZ-200 Microsoft Azure Developer Core Solutions – Passed
AZ-201 Microsoft Azure Developer Advanced Solutions – Passed
Microsoft Certified: Azure Developer Associate – Passed

 

 

 

 

 


Architect Exams

AZ-300 Microsoft Azure Architect Technologies – Passed
70-535: Architecting Microsoft Azure Solutions – Passed

I need to either sit AZ-301 or AZ-302 to become and Azure Architect Expert

 

 

 

 

 

 

Time to start studying for the AZ-302 exam so I can become Azure Solutions Architect Expert, which I have study notes for.



Azure Policies

Unfamiliar with Azure Policies?

Azure Policies start off with you defining a policy within Azure which could be something as simple as implementing a naming convention for lets say a Virtual Machine.

The following policy definition states that when creating an Azure VM it must match the naming convention we specify


An example of how to do this would be as below (in JSON):-


So what we are saying here is that if any user tries to create a Virtual Machine within a Resource Group within Azure then it must be named something like VM-P-ABC-GS01.

To get started with trying this out within the Azure Portal search for Policy at the top of the Azure Portal and you’ll see a screen something like the below: –

Here I have loaded the Policy area of the portal for an existing project and you can see the level of detail and see that I have on overall compliance of 95% on my resources and listed are the Non-compliant state Resources (if I were to expand).

By clicking on any of the non-compliant areas I will be shown all of the non-conforming resources which is awesome.

With Azure policies in place we can enforce naming conventions for a Resource Group, if we want to go further we could use Azure Management Groups – which I will cover in a separate blog post.

But what if I already have resources in place and I want to start using naming conventions with Azure policies?

In that case we need to talk about the contents of a policy definition which you can read up on.

Lets review another Azure policy (in JSON)

In the screen shot above the import part here is the EFFECT part.

Effect

Policy supports the following types of effect:

  • Deny: generates an event in the activity log and fails the request
  • Audit: generates a warning event in activity log but doesn’t fail the request
  • Append: adds the defined set of fields to the request
  • AuditIfNotExists: enables auditing if a resource doesn’t exist
  • DeployIfNotExists: deploys a resource if it doesn’t already exist
  • Disabled: doesn’t evaluate resources for compliance to the policy rule

So if we have resource which we might want to change the name of going forward and we are able to then perhaps use Audit to start off with and then change them to Deny.

Note if you make use of Azure policies and use Azure Devops to create Infrastructure as Code (IaC) then the easiest place to find issues with failing releases is in the build summary log.

Summary

In summary, there is a lot more to Azure policies, here I just wanted to give you some idea of what you can use Azure policies for.


Tags:


Ask Me Anything with Scott Gu – If Carlsberg did meetings…

Mid December 2018, I received a DM on twitter from a new follower @deanbryen which was basically read like so –

Hey Gregor! I know you’ve been doing a ton of stuff with the Azure community both in Scotland and online. Thanks for that!!

We’re organising a small (10-15 people) private event for top UK tech community members to attend an AMA with Scott Guthrie in January. I added you to the list of invitees, so this is me inviting you 🙂

What:  ‘Azure AMA (ask me anything) with Scott’ An opportunity to have a closed-door discussion with Scott Guthrie on the state of cloud in the UK

So on Friday 18th January I went down to London to the Microsoft Reactor and met with Scott Guthrie to ask him question’s on the status of Azure in the UK – an Ask Me Anything session – not gonna lie I was super excited by this opportunity.

Firstly it was amazing to get recognised as someone with a passion for Azure and be recognised, it felt like a reward for all the hard work I put in with blogging, user group, helping other people and giving feedback on Microsoft products etc. – I get a lot of people saying their inspired by how I took to learning Azure and how they want to do the same.

The meeting was just after 11am, Scott introduced himself and the products and teams he manages, he spoke about .Net, Azure, GitHub, AI, Data and more and if you think about that, that is a huge amount of people and projects to be responsible for.

One thing that struck me was his passion for it and his in-depth knowledge of where the teams are, what’s planned ahead, even down to the release dates for the vnext in these products.  GitHub was mentioned a good few times and with Microsoft purchasing it he talked about how recognised how people might react but he knows that GitHub will get even better moving forward for all types of developer’s.

Microsoft want to keep old friends and make new friends and that’s an awesome way to run a company.

It’s not every day your sat in a meeting with the Executive Vice President of the Cloud and Enterprise group at Microsoft.

If your interested to know what Scott is like in person, he’s relaxed, friendly, very engaging, loves hearing feedback (good and bad), and a very nice person indeed, he talks openly and honestly about everything he and Microsoft is doing and how they give back as well.

We talked about a lot of stuff within an hour and here is a list of the things I can remember in the conversation: –

  • Staff Training and how to get staff trained at a professional level for moving to the cloud
  • Azure Governance and how companies can have policies in place
  • Azure Security Centre
  • The new Azure portal homepage and the layout etc – I asked can we customise it (that’s in the pipeline)
  • Containers in Azure, Kubernetes etc
  • Data Centre’s and Carbon footprints as well as renewable energy
  • Microsoft Learn and byte size learning and how its effective and how its been well received
  • Events like Build and Ignite and how the new Ignite events are being well received
  • Cloud Advocates and more regional / local events coming, more Ignite local events coming
  • Visual Studio code and how popular it has become
  • Managed Service Identity (MSI) and how its being built-in more and more going forward into Azure
  • Python tooling that’s coming and how it will be best in class

A lot of the we above we spoke about and these are just my recollection of the main topics that came up, yes we could have stayed there all day asking Scott questions but we had a limited time with him as you can imagine, with more time I’d like to have know what a day-to-day normal day involves.

Before Scott left I managed to introduce myself and grab a selfie which was awesome, not a day or meeting I will forget about anytime soon, If Carlsberg did meetings…

Lastly huge thanks to @deanbryen for the invite, Anna Fear for organising and to the UK Cloud Advocates who I spoke with when we had lunch together.

 

 

 

 


Tags:


AZ-302 Exam Study Notes

Microsoft recently released information around the Azure AZ-302 exam: – https://www.microsoft.com/en-us/learning/exam-AZ-302.aspx

This blog post will cover available learning materials and docs links to information relevant to the exam AZ-302, links to these articles will be updated regularly.

 

Hopefully this will give you a head start on what you need to learn in order to pass the AZ-302 exam.

Determine Workload Requirements (15-20%)

Determine Feasibility and Refine Requirements

May include but not limited to: Recommend changes during project execution (ongoing); create proof of concept (PoC); determine whether a pilot is needed; evaluate products and services to align with solution; create testing scenarios; refine user stories

https://app.pluralsight.com/library/courses/microsoft-azure-feasibility-determining-requirements-refining/table-of-contents

Optimize Consumption Strategy

May include but not limited to: Optimize app service, compute, identity, network, and storage costs

https://app.pluralsight.com/library/courses/microsoft-azure-consumption-strategy-optimizing/table-of-contents


Design for Identity and Security (5-10%)

Design Authorization

May include but not limited to: Choose an authorization approach; define access permissions and privileges; design secure delegated access (e.g., oAuth, OpenID, etc.); recommend when and how to use API Keys.

https://app.pluralsight.com/library/courses/microsoft-azure-authorization-design/table-of-contents


Design a Business Continuity Strategy (15-20%)

Design a Site Recovery Strategy

May include but not limited to: Design a recovery solution; design a site recovery replication policy; design for site recovery capacity and for storage replication; design site failover and failback (planned/unplanned); design the site recovery network; recommend recovery objectives (e.g., Azure, on-prem, hybrid, Recovery Time Objective (RTO), Recovery Level Objective (RLO), Recovery Point Objective (RPO)); identify resources that require site recovery; identify supported and unsupported workloads; recommend a geographical distribution strategy

https://app.pluralsight.com/library/courses/microsoft-azure-site-recovery-strategy-designing/table-of-contents

Design for High Availability

May include but not limited to: Design for application redundancy, autoscaling, data center and fault domain redundancy, and network redundancy; identify resources that require high availability; identify storage types for high availability

https://app.pluralsight.com/library/courses/microsoft-azure-architecting-high-availability/table-of-contents


Implement Workloads and Security (5-10%)

Configure serverless computing

May include but not limited to: Create and manage objects; manage a Logic App resource; manage Azure Function app settings; manage Event Grid; manage Service Bus

https://app.pluralsight.com/library/courses/microsoft-azure-serverless-computing-configuring/table-of-contents


Implement Authentication and Secure Data (5-10%)

Implement secure data solutions

May include but not limited to: Encrypt and decrypt data at rest; encrypt data with Always Encrypted; implement Azure Confidential Compute and SSL/TLS communications;

https://app.pluralsight.com/library/courses/microsoft-azure-data-securing/table-of-contents


Develop for the Cloud (25-30%)

Configure a message-based integration architecture

May include but not limited to: Configure an app or service to send emails, Event Grid, and the Azure Relay Service; create and configure a Notification Hub, an Event Hub, and a Service Bus; configure queries across multiple products;

https://docs.microsoft.com/en-us/azure/sendgrid-dotnet-how-to-send-email
https://docs.microsoft.com/en-us/learn/modules/choose-a-messaging-model-in-azure-to-connect-your-services/index
https://docs.microsoft.com/en-us/azure/notification-hubs/

Develop for autoscaling

May include but not limited to: Implement autoscaling rules and patterns (schedule, operational/system metrics, code that addresses singleton application instances, and code that addresses transient state

https://docs.microsoft.com/en-us/azure/architecture/best-practices/auto-scaling
https://docs.microsoft.com/en-us/azure/azure-monitor/platform/autoscale-overview

Good luck with the exam – Gregor!

 

 



2018 Retro

I’m not a huge fan of dwelling on past accomplishments, I’m more interested in what’s to come but here goes…

Last year involved the following:

  • Got a new job as Head of Development Services for Sword IT
  • Worked on a large Azure web app with Azure Functions and CosmosDB project straight out the gate
  • Invited onto the board for the Glasgow Azure User Group where I help organise the meetups
  • Spoke at the first Glasgow Azure Global Bootcamp
  • Organising the 2019 Glasgow Azure Global Bootcamp
  • Feature in the top 20 Featured Azure Blogs https://blog.feedspot.com/microsoft_azure_blogs/
  • Sat 8 azure exams (7 betas) within 4 months – I knew zero Azure at the start of 2018.
  • Passed the Architecting Microsoft Azure Solutions (70-535 exam)
  • Wrote 49 blog posts mostly on Azure and Azure Devops
  • First ever Open Source PR accepted (for docs.microsoft.com)
  • Self nominated for MVP
  • Passed 2000 followers on Twitter
  • Technical Reviewer for an Azure related book
  • Started recording YouTube video’s on Azure Devops

Things to look forward to

This year more of the same with a visit to Microsoft Ignite (November) planned and hopefully the Ignite Tour in London late Feb.

 



Ambition and Drive to Learn Azure

This blog post takes a look back at 2018 for me, and what I achieved throughout the year.

This time last year I knew absolutely zero, nothing, nada, not a jot about Azure, I decided to change that and 1 year on I passed the Azure Architect 70-535 Exam and I’ll try to cover my journey below.

I have had many a tweet from followers saying that they have been inspired by my learning and so I decided to blog about how I went from literally knowing nothing to passing the Architect exam which has a big learning curve.

If there is one thing I am good at, its finding the right resources to learn something, I have a knack of finding the right content and locating the right people to ask for help or to learn from.

My original goal for the year was to sit and pass 1 Azure exam, once I got started learning Azure I was instantly hooked, I have now sat 8 Azure exams in the last 3,  maybe 4 months (yes I’m crazy!, yes I even sat exams at midnight)

I sat 7 beta exams and my thinking was to sit them and see where my level was and use them as guidance on what I knew, what I thought I knew and what I certainly did not know, each exam cost me £27 so it wasn’t a huge expense.

Ok so people seem interested in how I went about it so let’s get to that now, here is how I tackled my Azure learning, it was haphazard but when the betas came out I had little time to learn what I needed to learn before the discounts expired.

  • Read through the exams and start off with one of the easier ones (none of them are easy when your starting out)
  • I chose the AZ-100 and I think that’s not a bad place to start
  • Read the website link for the exam carefully especially the skills measured (these can be updated from time to time)
  • Search google for people blogging about their study notes
  • Use links like mine for finding useful study resources
  • I used udemy and Scott Duffy’s courses and Pluralsight (too may authors to thank here, see below)
  • I signed up to his Facebook Azure Exams User Group (Only thing I used Facebook for)
  • After a couple of weeks I booked the exam 2 weeks in advance (that forces you to study)
  • I used Azure a lot as nothing beats hands on experience – this is very important!
  • Practice is the only way I really learn something and remember it

Focus

I used to sit and watch a lot of crap on tv and binge watch season’s on Netflix, I cut down the amount of tv I watched, just stopped it altogether, I’ve barely watched a thing this past year on Netflix.

If I want to learn Azure it required being laser focused and dedicated to the subject. I would say on average I was spending 10+ hours a week at night after work just studying and using the tools within Azure, now this isn’t possible for everyone so maybe I can list some of the best resources I found and my tips for learning Azure, lets come back to that later on.


Motivation

So what was the motivation for doing this amount of learning and almost giving up watching tv – mad right?, I know your thinking that.

When I want to learn something I reckon I’m pretty good at finding good resources for learning a subject.

The motivation came from last December (2017) I read up on tech, what was going to be big and its clear to see that the cloud is huge, I wanted to learn something new as well, having been a .NET developer since .NET first came out, I had tired of the new front end JavaScript frameworks coming out every week or every day and that just wasn’t floating my boat, .NET core was still not something that wasn’t grabbing my attention based on tweets I was reading about it at the time, so I chose to learn some Azure.


How I got started

I decided to start by first of all taking my time, I didn’t dive right in, I looked around, read some blog posts, but always ended up back at the docs.microsoft.com – which by the way is awesome.

I check out the beginner courses on Pluralsight, searched for Azure and off I went – the more I read the more I thought this is very cool  stuff, I just got immersed into it and my learning became quite addictive, its when you first deploy something to Azure your like wow that was super easy, what can I do next, and so I just kept at it.

After a month, maybe two I decided to think I may as well check out the certifications,  if I’m learning Azure I may as well see what’s involved in the certifications, so I checked out the Azure certifications, looked for advice on where to get started and it was looking like one of the exams was easier of the 3 available, so I got reading.

After some time I took a practice test and got 12% I think maybe slightly higher, I had very little idea what the questions were talking about, I still hadn’t even heard of some of the content in the questions – that drove me to keep going and learn even more rather than getting despondent, I did the Pluralsight IQ test thing they do and it was slowly going up over time – any progress is good progress right? – I mean I’m learning, I’m investing in myself and what harm can that ever do?

So my thinking changed after a wee while, I’m not a network/infrastructure type person, I am a developer, I’ll study for the Azure Dev exam. I booked my first Azure exam for the 9th of March, I had been studying since December and thought why not, I failed the exam and was pretty disappointed, it was clear I didn’t know enough I got 670 in my first exam needing 700 to pass, I retook the exam  on the 30th March having booked it after failing and due to some other stuff coming up I didn’t study a huge amount in between and failed it this time with 680, totally different content in this exam after I had reviewed the areas I was weak on last time.

Two exams sat both failed, I was pretty low after the second failure, it wasn’t a nice feeling as I took the second test in Edinburgh and it wasn’t a nice feeling driving home – by the time I got home and sat down I thought right refocus and just keep going, fail fast as they say.


Twitter

Twitter is without doubt my favourite place to learn believe it or not,  I follow all the MVP’s I come across, I follow as many people I can who tweet about Azure, the Azure team members at Microsoft, anyone who mentions Azure I check out their tweets and if there’s learning potential I follow them – I highly recommend doing this if your serious about learning Azure, and if your serious about learning anything technical locate the people you need to be following, engage with them ask questions etc and learn.

I have made some great friends on twitter special mention to Julie Lerman @julielerman ,Richard Hooper @Pixel_Robots, Sam Smith @samsmithnz , Aaron Ralls @cajunAA – the people I chat to the most on twitter.

From twitter alone this year in 2018, I have been asked to write two books and do training for a cloud training company.


Blog

The reason I started blogging was to write down things I came across that I would forget, blogging meant I could come back to it later and find the answers, now I’ve moved on to help other people with what I have learned and share the knowledge, it also ensures I have read into the subject enough so that I at least know what I am talking about.

If you aren’t a blogger then you should look into getting started, it’s very easy to do and can open up new opportunities for you gong forward.

I took part in the C# blog Advent Calendar this year which was fun to do.


Tips for Learning Azure

I will list my tips I would suggest for learning azure the way I did below: –


Community

Being asked to help organize the Glasgow Azure user Group was one of the highlights of the year for me, I get to help the Azure community in Scotland and this is both fun and educational in a number of ways, learned a lot from doing this, particular thanks to Sarah Lean @techielass for asking me to help out.

I also reached out to several of the Microsoft Azure folks asking questions, looking for advice etc, the responses have always been very helpful.


Goals

Setting goals I think is an important step, I wrote one goal up above my pc monitors which I haven’t achieved and its there to remind me to stay focused on that very goal.

My goals for 2018 were as follows:-

  • Learn Azure and pass an Azure Exam
  • Get a new job, hopefully one where I could manage people
  • Blog a lot more
  • Join a user group
  • Do some open source work and submit some PR’s
  • Get involved in the community way more

So how did that pan out?

  • Learn Azure and pass an Azure Exam
    • I learned way more Azure than I thought possible in one year, I passed to Azure Architect 70-535 exam
  • Get a new job, hopefully one where I could manage people
    • I’m now Head of Development Services for a company here in Glasgow and loving it
  • Blog a lot more
    • Almost 30 blog posts this year mainly round Azure and Azure Devops
  • Join a user group
    • Was invited onto the board for the Glasgow User Group and help run them ever second month
  • Do some open source work and submit some PR’s
    • Need to do more open source work but did get a couple done,  way more on that front to come.
  • Get involved in the community way more
    • Managed a couple of pull requests but not enough for my liking

In summary its been a good year, I’ve learned a tonne of Azure, made some great friends on twitter and at the user group and I generally feel 2019 is going to be an amazing year, I am going to be starting an Azure podcast with a good friend of mine from twitter, more to come in January.


Thank You

I wanted to thank a few people who have helped me with Azure over the past 12 months, its been challenging but very rewarding, I punched the air after passing the Architect exam and was chuffed for a few days after it to be honest. It’s not possible to list them all but the one thing I always do is thank the person who has helped me, its nice to be nice and the best part in all of this has been able to help other people just starting out their journey to learn some Azure.

Special mention to the following for their amazing learning resources:-

Scott Duffy – @scottjduffy
Barry Luijbregts – @AzureBarry
Mike Pfeiffer – @mike_pfeiffer

Here’s to an Azure filled 2019, and look out for the new podcast and the Glasgow version of the Azure Global Bootcamp which I’m organising in 2019, it’s on April.

p.s. Ping me on twitter If I can help you on your journey, I love to be able to help people and more than happy to help.

 



Azure Blobs from C# and Visual Studio – C# Advent Calendar

This blog post is part of the The Second Annual C# Advent by Matthew Groves which is a C# advent calendar of blog posts by the community which uses C# to cover a topic of your choosing – I chose to show how to use Azure Blob Storage from C# and created a simple console application to upload images from a folder on your local computer and push the images into Azure Blob Storage.

To see all of the other blog posts for the C# advent calendar take a look here

The sample code for this blog post can be found on github

The following will show you how to create and access blobs using C#

  • Log into your Azure account or create a free one
  • Create a new Resource Group and call it something like BlobStorageCSharp
  • Next Add a new Resource, and search for Storage and then select the following highlighted Storage account – blob, file, table, queue)

The code example will show how to create a container which will upload the images into a container in blob storage up into your Azure storage account.

The code makes use of Azure Blob Storage from C# to create a public blob storage container called xmasimages-container if it doesn’t exist already making use of the following:-

And then upload images found in a folder on your local machine and stores the images into the public blob storage container.

You can read more on blob storage container’s and using C# to work with Azure storage

Once the images have been uploaded you could use Azure Storage explorer to view them.

Once you have downloaded and ran the code from my repo above, open up storage explorer and follow the steps below:-

  • Sign into your Azure Subscription
  • Expand Storage Account
  • Expand Blob Containers
  • Locate your container (xmasimages-container)
  • Highlight an image on the right hand side
  • Click Download or double-click and open it using any image viewer.
  • Viola – you’ve uploaded images and now you can view them

It’s a simple demo and there is a lot more you could continue with, so go grab the code, modify and extend it by doing some of the following: –

  • Change the code to make use of Azure Key Vault to store the connection string to your blob storage container
  • Extend the code to list the files within your container

Thanks to Matt Groves for doing the C# advent calendar, mind and check all the other great content here.

Merry Christmas and enjoy!
Gregor

 


Tags:


Azure Devops – OSS Scanning using WhiteSource

Its about time your AzureDevops builds were scanning for OSS vulnerabilities, well your in luck as you can use this Marketplace Extension which is FREE: – https://marketplace.visualstudio.com/azuredevops/

One you add the extension to your Organization you can add it into your build like so:-

This will scan your oss code and give you a detailed report on any vulnerabilities within your Azure Devops repository – #winning.

I have added it to a build I have and here is a sample of the report which you’ll see produced once you’ve added it into the build step.

The report looks like this: –

And below this you’ll see the following: –

An you’ll also see this: –

And this:-

Now you’ll get a report on open source vulnerabilities in your builds 🙂



Azure Devops

In this series of blog posts I will cover Azure Devops, I’ll cover the following

And many more, check back regularly for more on the above.

Please ping me if you have any questions or want something covered which I haven’t mentioned thus far.



Azure DevOps – How to do a fully automated release (Part 3)

Ok so Part 1 covered how to do a manual build of a .NET Core Web App and now I’ll show how to do a manual deployment of the project.

Part 2 covered creating a manual release from the build in Part 1

In Part 3 I’ll cover the magic sauce that make it possible to set up continuous deployment so that when you commit your code its automagically built and deployed.


Automated Builds

  • Ok so start by going to Pipelines and then select Builds
  • Click on Edit to Edit the build we created in Part 1
  • Select Triggers and then click on Enable Continuous Integration and then click Save And Queue like so

 

Once you’ve saved check in a commit and the code will trigger the automated build.


Automated Deployments

  • Ok so start by going to Pipelines and then select Releases
  • Edit the release you had previously created in Part 2
  • Click the lightning icon on the Artifacts part of the release and then click to enable Continuous deployment trigger like so, click Save.

So now if you commit code, you’ll have an automated build and release pipeline using continuous integration and continuous deployment (CI / CD) – way to go!