John Martin
Data Platform and Cloud Specialist.
Aberdeen, United Kingdom
Actions
John is an experienced data platform professional having spent over fifteen years working with Microsoft SQL Server, Azure, and AWS technologies. Working closely with clients to solve their data platform problems with innovative solutions with a focus on simplicity, maintainability, and automation.
Area of Expertise
Topics
The importance of data testing in the SDLC.
Unit testing and integration testing have become part and parcel of development processes the world over. So why don't we apply the same rigour to the data persistence layer?
We trust that our unit tests will catch bad data being sent to the data store, but what if they let us down? A great (or terrible, depending on your view) example of what can happen is the failed Horizon project at the UK Post Office.
I'll propose why we should, and how we might go about adding a robust testing mechanism for the data store which can help spot issues earlier in the SDLC before end users are involved and start reporting issues.
A Cloud Migration in a Day
When we migrate data driven applications to the cloud there are many factors to consider outside of just the database environment. We need to understand how the fundamentals of cloud platforms will impact the different components and how this will manifest in behavioural changes to the systems we manage.
Using an n-Tier web application with a SQL Server database back end we will work through the scenario options to understand how to migrate the whole system from on-premises to the Azure cloud. Looking at the key decision points and how they will impact the direction that is taken when selecting the correct migration pathway.
After this workshop you will be able to apply the techniques to ensure successful migrations to the cloud for a whole system or just a part of it.
Agenda Items
1. Overview of an existing on-premises web application and the architecture, availability, operability, and general business requirements for the migration to the cloud.
2. Understand migration options and pathways for getting to the cloud, how to select the most appropriate for the given scenario.
3. How to plan and tackle the migration, identifying dependencies and performing dry runs before completing the migration.
4. Enact a migration to the cloud from on-premises to the cloud, perform verification, and post migration tasks.
Building a High Availability & Disaster Recovery Strategy for the Cloud
Moving data platforms to the cloud, whether they are operational or analytical, means we don't really have to think about designing in High Availability and Disaster Recovery (HADR), or that is what the marketing tells us anyway.
While there is an element of truth, the reality is that we just have an interesting set of new challenges to overcome when building highly available data platforms in the cloud. Whether it is understanding the abstracted level of control, what risks need to be mitigated, or simply which option to select, it is not as simple as we are led to believe.
In this workshop I will help you understand how running a cloud data platform changes the questions we ask to drive requirements for HADR, as well as how to map these to patterns, practices, and technology to meet those requirements.
Agenda Items
1. Overview of what high availability and disaster recovery is, core concepts and terms, why it is required, and outline the core foundations of what is needed to build a strategy.
2. Defining system requirements for availability, recovery, and operability.
3. Risk management, what is it, how to identify, document, and handle risks.
4. Selecting and configuring appropriate technology options to meet the requirements identified.
5. Defining patterns, practices, and building a re-usable library of artefacts to meet the requirements with the selected technologies.
Database Development For non-Developers
With the rise of low-code and no-code options it has never been easier for non-developers to build business critical data flows. However, there comes a time when bringing a more traditional database into the mix becomes necessary.
In this session I will walk through the key concepts and processes needed to get started with database development. From defining data and modelling data entities and the normal forms, through to how to write and deploy the database objects and code.
Together we will lay the foundations for your next step into building data driven systems to meet the needs of your colleagues or users.
Up and Running with Terraform
Infrastructure as Code is vital when building systems, allowing repeatable and reliable deployments, and minimising the risk associated with manual deployments. Bicep is great if you are working with Azure, but what if you need to build solutions with multiple technologies? This is where Terraform can help us!
In this session I will provide an overview of Terraform and how to use it effectively to deploy cloud resources. I will also provide several tips and tricks around getting the most out of Terraform when it comes to things like enforcing naming conventions, using your own modules, and deploying to multiple technologies within a single project.
The Swiss Cheese Security Pattern
When it comes to building secure systems, we need to have the right mindset, get that right and the rest follows. When we accept that what we build contains vulnerabilities we are then in a better position to build more secure systems because we can recognise the holes and cover them off.
Learn how to build a solid security strategy, how to adopt a security by design mindset, and the patterns and practices that will help you protect your data assets giving you the best chance to meet the requirements of legislative and industry regulations such as PCI-DSS, GDPR, and similar.
Integrating API Sources into your Data Lake with ADF, Synapse, and Fabric Pipelines
SaaS and hosted applications are the norm in many businesses now. Whereas previously we could go direct to a database to extract data for our warehouses, now it is common to interact with these systems via APIs which were not designed for bulk data operations.
I will guide you through how to successfully integrate these sources into your modern analytics solutions. From authentication and authorisation, to pagination, and landing data into the data lake for subsequent processing. I will show you the different options which exist within the pipelines directly or using complimentary technology options to get the data you need in a timely and efficient way.
How to Run Successful Proof of Concepts (POCs)
Being able to rapidly, and successfully evaluate a technology, technique, or high level architecture is important in today's rapidly evolving technology landscape. But just what does this involve?
In this session we will look first at defining what a Proof of Concept (POC) is, and how it differs from a prototype or similar activity. Then we will dive into everything that goes around a POC to make sure that it is scoped, prepared, executed, and summarised effectively. The end result being that a POC will not run on for weeks or months, but rather, is delivered in a matter of days.
By the end of this session you will be in a position to run your own POCs irrespective of technology or platform.
Introduction to Database Development
Do you want to build reliable, efficient, and maintainable databases, whether they are for OLTP or analytical workloads? If the answer is yes, then this is the session for you.
While building a database is easier than it has been, especially with the tools available now. However, building one which will last the test of time needs some careful planning and understanding of the trade-offs during the development phase.
This workshop will go back to the fundamentals and build up from the core foundations. From concepts such as understanding what the database is, and what it is used for, through to normalization and modelling, then looking at how we can use the tools to build quickly and leverage CI/CD in our processes. At the end of the day, you will have all the materials to refer to and skills needed to build better databases.
For the practical side of this training day, we will focus on the Microsoft SQL technology stack and deploy it to Azure SQL Database.
Agenda
1. What are databases, why do we need them, and what forms do they come in?
2. Database design, including modelling, normalization of data entities, the use of constraints and appropriate data types.
3. Turning the model into code, building the core SQL Server database objects for storing the data, as well as writing stored procedures to read and write data to the database. We will also look at core security concepts and where the line is between developer and DBA.
4. How to use source control and automation to store your code, track changes, and deploying to a target database automatically.
5. Operational aspects of databases including indexing strategies, how to handle deployments of updates to database schemas and codebases to minimize impact as well as more options for securing the database.
SQLBits 2024 - General Sessions Sessionize Event
Techorama Netherlands 2022 Sessionize Event
dataMinds Connect 2022 Sessionize Event
Data Relay 2022 Sessionize Event
Data Saturday Oslo 2022 Sessionize Event
SQLDay 2022 Sessionize Event
SQLBits 2022 Sessionize Event
Data Saturday Southwest US Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top