Shahid Iqbal

Information & Communications Technology

Azure Kubernetes Docker Containers Cloud Computing on the Azure Platform dotNet dotnet core

London, United Kingdom

Shahid Iqbal

Independent Azure consultant, Microsoft MVP

Shahid is an independent consultant and Microsoft MVP based in the UK and operating across the globe.
With over a decade of experience in .NET he works with companies to help migrate their existing applications and processes to the Cloud and Azure in particular.
He is a passionate proponent of Cloud Native approaches and employing technologies such as Azure and Kubernetes to solve modern development problems.
Shahid is also frequent speaker at both international conferences and local meetups and is a co-organizer of a .NET meetup in the UK.

When he's not working he's usually playing around with gadgets or talking about cars.

Current sessions

Kubernetes in 10mins

In this lightning talk we'll introduce Kubernetes, the container management platform that is creating a buzz in the industry.
In 10mins we'll briefly cover what Kubernetes is, how to get started and how it works under the covers.
It's a fast paced session with a lot to cover but the audience will be able to leave with a basic understanding of what Kubernetes does

Kubernetes, Azure and .NET - What's it all about?

Everyone seems to be talking about Kubernetes with companies seemingly tripping over themselves to support or adopt it.

In this talk we'll introduce Kubernetes, discuss the key concepts of the platform, it's high level architecture and how to get a Kubernetes cluster up and running in minutes in Azure.

We'll talk about and demo deploying .NET applications to Kubernetes and we'll finish with a discussion of the future where you can deploy both legacy and modern .NET applications to the same platform.

If you're interested in Kubernetes and you're not a .NET developer this session still has something for you

Solving microservices challenges on the Kubernetes platform

Developing microservices based applications is a hot trend in our industry.
However the journey to microservices is fraught with problems, by trying to solve one problem we often introduce a set of new ones.

This talk introduces a "journey" to microservices and highlights some new problems that are created by adopting such an architecture.

We then step through how we can leverage cloud native technologies such as Kubernetes and service meshes such as Istio to try and address some of these new problems.

This talk along with demos will cover many topics in an area which is rapidly evolving however we'll try and focus on the fundamental problems, and demonstrate tools that can help make the experience better or simply easier to manage.

Attendees will learn:
Why microservices introduce many new challenges.
How cloud native technologies (such as Kubernetes, Azure Dev Spaces, Istio) can try and help address these challenges.
Some general guidance on microservices architecture.

Some knowledge of microservices, containers and Kubernetes is useful but not essential we'll cover the basic topics

Presented at NDC Sydney 2018

Hands on with Kubernetes

In this hands on workshop we'll cover the important fundamentals of Kubernetes before diving into practical hands-on examples.
We'll start off by setting up a cluster and start by deploying some straight forward applications to the cluster before moving onto more advanced topics.
Tasks will include:
Deploying applications
Scaling applications
Adding resiliency
Monitoriing applications
Performing rolling updates
And more advance topics such as security, service meshes and quality of service.
At the end of the workshop attendees will have had hands on experience with Kubernetes and be well positioned to go away and start working with Kubernetes with their own applications.

Requires good internet connection.
Candidates will be required to bring laptops with pre-requisites installed.
Sessions can be customised to last between 1 & 2 days.
Candidates may require their own subscription to Azure (although this may be provided subject to confirmation)

Going multi-cloud serverless

Serverless computing is all the rage at the moment with new and exciting innovations happening all the time.
This session will cover the topic of creating serverless architectures which span multiple clouds
We'll introduce Cloud Events and how this emerging standard will allow you to create applications that can react to events across cloud providers to give you a truly distribute application.
The session will include demos of multi-cloud applications reacting to events across the cloud boundary.

Kubernetes - going beyond the basics

So you've got a good grasp of the Kubernetes basics, you can create a cluster and deploy some applications to it, what about taking things up a notch?

In this talk we'll cover (and demo) some more advanced topics within Kubernetes such as:-

Influencing the scheduling of pods
Controlling applications being scheduled using admission controllers
Options for extending/customising Kubernetes using Custom Resources
Auto scaling of applications and clusters including virtual node
Time allowing a brief discussion around how a service mesh may help improve traffic shaping

After this talk attendees should have a much clearer understanding of the additional capability in Kubernetes and associated platforms that they may want to use to improve their application platform.

Attendees should have a good understanding of the basic Kubernetes concepts and constructs.

Taming your cloud bill

The excitement of moving your applications to the cloud is hard to resist.
You quickly get going and the wonder and joys of this new world are amazing...that is until your first consumption bill arrives, then the reality hits hard!
We pay for what we use so inefficient design or simply the lack of understanding of the options can lead to cost creep in your cloud solutions.

This talk focuses on how we can use the cloud more effectively, taking lessons I've learnt from consulting with companies.

We'll cover topics such as:
- Alternative options for cheaper services compared to the typical choices (e.g. databases vs storage)
- How small changes to service options allow for substantial cost savings (e.g. elastic pools) without application changes.
- How simple application architecture changes can save substantial costs
- How we can use control and checks to minimise the risk of bill shock

The talk will focus on Azure, however many of the lessons should be applicable to other cloud services.

After this talk attendees should be able to see how to change their mindset and approach to make their applications more cost efficient.

Migrating and evolving your legacy applications by leveraging the power of Kubernetes

Kubernetes officially supports Windows nodes and now with support for coming from managed Kubernetes providers such as Azure Kubernetes Service (AKS) we are entering exciting times for teams looking to migrate and evolve their legacy applications (such as those built with the full .NET framework).

This talk will show how legacy applications can be containerised (in some cases without access to the application source code).
Once containerised these containers can be run in a Kubernetes cluster and managed by Kubernetes.
Finally as we evolve applications we create new components which often have to work alongside legacy components, so we'll show how we can use the networking capabilities of Kubernetes to manage and route traffic between these legacy components and new components.

Attendees will learn:
How to create windows containers (at a high level due to time constraints)
Deploying these into Kubernetes
How traffic management can give them options for evolving their legacy applications to modern replacements with lower risk and with a simplified management approach.

Knowledge of containers and Kubernetes is useful although some of the high level concepts will be covered.

Kubernetes all the things! - A unified platform for all your .NET applications?

As companies with .NET applications are facing choices around managing existing full .NET framework applications alongside their newer .NET Core applications it's increasingly important to have a single unified platform to deploy and run these applications.

Building a platform on top of Kubernetes and the wider ecosystem is an attractive proposition, it provides a single platform to run and manage your applications irrespective of whether they are full .NET framework applications running on Windows or .NET Core applications running on Linux.

This talk will cover and demonstrate
Key features & concepts that Kubernetes and the wider ecosystem offer.
Hybrid clusters comprised of Windows and Linux nodes
Creating deployment pipelines to deploy applications to Kubernetes for both Windows and Linux based applications.
Some considerations for building a platform for your organisation.

Attendees may benefit from some prior understanding of Kubernetes and the wider ecosystem although we'll cover the basics. Although this talk will focus on .NET in the Kubernetes ecosystem many of the topics will be applicable to other languages.

Containers/Docker - what, why and how

It's easy to feel like you've missed the Docker hype train with containers being discussed to death for the last few years, however there are always people arriving new to the technology and also new features/opportunities.

This talk will introduce containers and Docker and cover a variety of topics (with demos) including:
-Why we might want to use containers
-Improving developer workflow with containers
-Security aspects of containers
-Windows containers and how they fit into the landscape.
-Options for running containers in production, including orchestration.

If you're completely new to containers/Docker or have some basic knowledge and want to fill in the gaps, this talk will cover the fundamentals right up to production usage.

Level: introductory
duration: 1hr
requirements: internet connect required for some demos (backup videos can be used however).

Infrastructure as code - is it really?

IAC (Infrastructure as code) has become a mainstay for teams looking to automate their infrastructure deployments however is it actually code or just text?

Most cloud provider provisioning system or tools such as Terraform rely on a text based document to describe the infrastructure. Most of these approaches have had to shoehorn in some programming constructs (such as conditional logic and loops) into the languages to provide support for more complex scenarios.

This talk compares provisioning infrastructure using cloud provider approaches, Terraform and Pulumi.

With a combination of slides and code we'll see how solutions like Pulumi are providing real code based approaches for provisioning infrastructure and compare this to alternatives from cloud providers.

After this talk attendees will have a better idea of the options available for provisioning infrastructure and why they may choose one approach over another.

Internet connection required for demo'ing cloud provisioning.

Past and future events

NDC Sydney 2019

13 Oct 2019 - 17 Oct 2019
Sydney, Australia

Prognet 2019

Kubernetes beyond the basics
11 Sep 2019 - 13 Sep 2019
London, United Kingdom

dotnet York

Microservices on Kubernetes
7 Aug 2019 - 7 Aug 2019
York, United Kingdom

Dotnet Sheffield

Microservices on Kubernetes
6 Aug 2019 - 6 Aug 2019
Sheffield, United Kingdom

Azure developer camp - London

At MS Reactor - modernising applications
12 Jun 2019 - 12 Jun 2019
London, United Kingdom

Azure Developer Camp

2 talks at Microsoft event
5 Jun 2019 - 5 Jun 2019
Birmingham, United Kingdom

Shirley software development meetup

Solving microservices challenges talk
5 Jun 2019 - 5 Jun 2019
Shirley, United Kingdom

Barcelona .NET Core Meetup

Microservices, Kubernetes, Azure Devspaces, service meshes
21 May 2019 - 21 May 2019
Barcelona, Spain

Azure Saturday 2019

16 May 2019 - 17 May 2019
Munich, Germany


Microservices, Kubernetes, Azure Devspaces, service meshes
14 May 2019 - 15 May 2019
Copenhagen, Denmark

NDC Minnesota 2019

6 May 2019 - 9 May 2019
Saint Paul, United States

DDD Southwest 2019

Microservices, Kubernetes, Azure Devspaces, service meshes
27 Apr 2019 - 27 Apr 2019
Bristol, United Kingdom

NDC Porto 2019

26 Feb 2019 - 1 Mar 2019
Porto, Portugal

NDC London 2019

28 Jan 2019 - 1 Feb 2019
London, United Kingdom

NCFE talk

Talk on microservices on Kubernetes
21 Jan 2019 - 21 Jan 2019
Newcastle, United Kingdom

Copenhagen .NET meetup

24 Oct 2018 - 24 Oct 2018
Copenhagen, Denmark

Dotnet north meetup group

16 Oct 2018 - 16 Oct 2018
Manchester, United Kingdom

Bisbane Azure User group

Azure, Kubernetes
24 Sep 2018 - 24 Sep 2018
Brisbane, Australia

NDC Sydney

Developing microservices based applications on the Kubernetes platform
16 Sep 2018 - 21 Sep 2018
Sydney, Australia


Developer conference
Kubernetes for .NET developers
10 Sep 2018 - 10 Sep 2018
Swansea, United Kingdom

HaintonDotNet Teesside usergroup

29 Aug 2018 - 29 Aug 2018
Middlesbrough, United Kingdom

HaintonDotNet Newcastle usergroup

28 Aug 2018 - 28 Aug 2018
Newcastle upon Tyne, United Kingdom

London .NET meetup

Kubernetes, Azure
2 Aug 2018 - 2 Aug 2018
London, United Kingdom

.NET Southeast usergroup

Kubernetes for .NET developers
17 Jul 2018 - 17 Jul 2018
Brighton, United Kingdom

SmartDevs Usergroup

9 Jul 2018 - 9 Jul 2018
Hereford, United Kingdom

Developer Day 2018 (DDD Reading)

23 Jun 2018 - 23 Jun 2018
Reading, United Kingdom

NDC Oslo 2018

12 Jun 2018 - 14 Jun 2018

Shirley Software development meetup

30 May 2018 - 30 May 2018
Shirley, United Kingdom

Azure Saturday 2018

25 May 2018 - 25 May 2018
Munich, Germany

Leeds Sharp usergroup

26 Apr 2018 - 26 Apr 2018
Leeds, United Kingdom

Hull Devs

Kubernetes for .NET developers
25 Apr 2018 - 25 Apr 2018
Kingston upon Hull, United Kingdom

DDD SouthWest

Community organised conference.
Kubernetes for .NET developers
21 Apr 2018 - 21 Apr 2018
Bristol, United Kingdom

MK.NET usergroup

Kubernetes for .NET developers
10 Apr 2018 - 10 Apr 2018
Milton Keynes, United Kingdom

DDD Wales

Developer conference. Presenting Kubernetes for .NET developers
24 Mar 2018 - 24 Mar 2018
Swansea, United Kingdom

.NET South West usergroup

Kubernetes for .NET developers
27 Feb 2018 - 27 Feb 2018
Bristol, United Kingdom

Shropshire devs meetup

Kubernetes for .NET developers
25 Jan 2018 - 25 Jan 2018
Telford, United Kingdom

.NET Oxford Usergroup

Kubernetes for .NET developers
5 Dec 2017 - 5 Dec 2017
Oxford, United Kingdom

London .NET

From VMs to Windows Containers
11 Oct 2017 - 11 Oct 2017
London, United Kingdom