I currently work as a Principal Cloud DevOps Engineer at kurtosys.com. I have a keen interest in developing and maintaining software delivery pipelines and enjoy solving problems in this space. I appreciate cloud platforms and implementing solutions utilising all sorts of cloud technology. I have a passion for the multi purpose python programming language and integrate it often into my solutions.
I enjoy working with any web technologies and frameworks, creating interesting web apps and online technical solutions. I run a blog at theworldoftheweb.net where I write about new things I’ve learnt and what I find interesting.
Copyright © 2020 Mike Hyland
This app utilizes the Beautiful Soup Python library to scrape information and statistics about the World Test Cricket Championship from Wikipedia.
The frontend is a customised bootstrap theme. The backend is powered by the Flask Web Framework.
Go to App
This basic app is an exercise in API consumption based on geo-location and user search criteria.
The following API's are consumed in order to display city information:
Since the app uses free and open API's, the data cannot be consistenlty verified. In the majority of searches, data is correct but users may find that some searches, mainly from the Open Trip Map API, could show inconsistent results.
Where data cannot be gathered, the app will error handle these scenarios depending on the nature of the data that cannot be gathered.
The front end is developed with bootstrap. The backend is powered by the Flask Web Framework.
Go to AppThis app utilises the News API to gather and then display news articles published by world wide news outlets.
News items are gathered every 4 hours and stored in a sql database. The web application displays the news per selected country, category and date. The navigation items will display today's news in the selected categories for the selected country.
The search mechanism queries the database by date and category within the selected country and allows the user to view archived news articles. All news articles are displayed from latest to oldest.
The front end is developed with bootstrap. The backend is powered by the Flask Web Framework.
Go to AppThis is my personal blog site where I write about new things I’ve learnt and what I find interesting.
The blog is powered by Python and the Django Web Framework with a PostgreSQL database. The frontend is designed with bootstrap.
Go to AppCloudflare’s SSL for SaaS service allows easy deployment and management of SSL certificate lifecycles which encompass the initial issuance and automated renewal of certificates. However, in some use cases custom SSL certificates are preferred. These use cases typically involve Extended Validation Certificates or security prioritization over the automated generation of private keys by third parties.
I have developed 3 python scripts that manage Cloudflare's Custom Hostnames and related certificates:
Adding a new custom hostname
Review custom hostname certificate details
Update custom hostname certificates
AWS Cloudformation allows one to deploy resources in an automated and controlled manner via templates. I've developed a python script that deploys and updates Cloudformation with a provided template.
When provided with a template, the script will list out all resources that will be created or updated in the stack and prompt the user to continue. While running, the script will provide output on the progress of the stack deployment and in the case of a resource failure, report on what resource failed and why.
Between Monday the 22nd and Wednesday the 24th of July 2019, I attended the AWS Sysop Associate course. It was hosted by Torque IT. This is a review of that course.
During the year of 2019 I led a Content Delivery Network (CDN) project. The first phase of the project involved migrating existing web assets that were on Akamai, to Cloudflare. During this time, I had the opportunity to really get comfortable with CDN technology and more specifically the enterprise services offered by Cloudflare.
This blog describes what I've learnt so far regarding Cloudflare Custom Hostnames and will focus on a solution to manage SSL certificates for Cloudflare’s custom hostname service using custom certificates. I present a solution I wrote in python to manage Custom Hostnames in this manner on the Cloudflares enterprise platform.
In the world of AWS, there are many ways to do many things. With more than a 100 services comprising the AWS services portfolio, finding a strategy to deploy, manage and maintain multiple services can be challenging. One method is to use AWS CloudFormation.
In this blog I cover various aspects of AWS Cloudformation. I touch on topics like Templates, Cloudformation Stacks and Stack Drifts. I also describe a solution I wrote in python as an exercise to deploy Cloudformation Stacks.
I was tasked to provide a list of all the WordPress users that are present on all our WordPress servers in all our environments.
I use the Paramiko Python module to connect to each server. To get the user detail, I use the WordPress CLI and converted the user output details to comma delimited output with the additional requirements. Each server output is gathered into it's own csv file and I use the Pandas Python library to combine all the csv files into a single file.
This python script utilises the boto3 python library to access user details from AWS Identity and Access Management.
The script produces a csv file with the following columns and related content:
Managing SSH keys and keeping your systems secure within a large environment with many users and systems can sometimes be tricky. One method to mitigate this, if you are a AWS customer, is to use AWS EC2 Instance Connect.
In this post, I briefly discuss the importance of secure SSH keys and then describe AWS EC2 Instance Connect and how to configure it to access EC2 instances.
AWS identity and access management (IAM) enables access to AWS accounts and their related cloud resources in a secure fashion. It facilitates the administration of users and groups with associated permissions to allow and deny access to services and resources.
In this blog, I discuss the basic principles of IAM identities: security in the cloud, user access, roles and policies.
The AWS Virtual Private Cloud (VPC) is an elemental feature of AWS. A number of services and resources within your AWS configuration rely upon the VPC and how it is configured. Hence, it’s important to have a fundamental understanding of how the VPC works, is configured, and how other core network services integrate with it.
This blog covers some of the essential steps to creating a VPC and configuring core network services.