Microsoft ASP.NET Webforms – Gold Coast, Australia

If your company needs help maintaining your Microsoft ASP.NET Webforms Application please contact us today.

ASP.NET webforms is a technology used to create dynamic and interactive websites.

It was created by Microsoft in 2002 and has been widely used ever since.

Webforms allow developers to create pages using a combination of code and markup. This makes it easy to create complex websites without having to write a lot of code.

The code is written in C# or Visual Basic, while the markup is written in HTML. One of the main advantages of webforms is that it is very easy to use.

Developers simply need to know how to write HTML and code in C# or Visual Basic. In addition, webforms are supported by all major browsers, making them a popular choice for many businesses.

However, webforms are starting to become less popular as newer technologies such as React and Angular become more popular.

These technologies allow developers to create websites using JavaScript, which is a more popular language than C# or Visual Basic. As a result, many businesses are starting to switch to these newer technologies.

Microsoft SQL Server Gold Coast Australia

If your company needs help with Microsoft SQL Programming / Maintenance please contact us today.

Microsoft SQL Server is a relational database management system (RDBMS) developed by Microsoft.

It is designed to run on Windows Servers and can be used to store and manage data both in on-premises and cloud-based environments.

SQL Server was first released in 1989 as a joint project between Microsoft and Sybase. The original version was called Microsoft SQL Server 4.0, and it was based on Sybase’s SQL Server product.

In 1994, Microsoft purchased a stake in Sybase, which allowed them to continue developing SQL Server independently. SQL Server has come a long way since its early days. Over the years, it has been improved and enhanced with new features and capabilities, making it an even more powerful tool for managing data.

Today, SQL Server is one of the most popular RDBMSs on the market, used by organizations of all sizes for a variety of purposes.

Some of the key features of SQL Server include:

  • A wide range of deployment options, including on-premises and cloud-based deployments
  • Support for both structured and unstructured data
  • Powerful query tools that allow you to easily find and analyze your data
  • Robust security features that help protect your data from unauthorized access
  • Flexible licensing options that make it easy to purchase and deploy the software

Overall, SQL Server is a powerful tool for managing data that is widely used by organizations of all sizes. With its rich feature set and flexibility, it can be used for a variety of purposes, from storing customer data to powering business intelligence applications.

Visual Basic 6 (VB6) Programmer – Gold Coast, Australia

If your company needs help maintaining your legacy Visual Basic 6 application, please contact us today.

Visual Basic 6 (VB6) is a visual programming language developed by Microsoft. It was released in 1998 as part of the Visual Studio suite and became one of the most popular programming languages of its time. VB6 is still used today, though it has been superseded by newer versions of Visual Basic.

VB6 is a visual programming language, meaning that code is arranged in a graphical interface and executed in real-time. This makes it easier for beginners to learn than traditional text-based programming languages. VB6 also includes features that make it more powerful and versatile than earlier versions of Visual Basic.

One of the most notable features of VB6 is its support for object-oriented programming (OOP). OOP allows developers to create reusable code modules called classes, which can be used to create larger applications. OOP is a popular programming paradigm and is widely used in modern programming languages.

VB6 also includes a number of other features that make it more powerful and user-friendly than earlier versions of Visual Basic. These include:
-A built-in debugger that allows developers to step through their code line by line and identify errors.
-The ability to create custom controls, which can be used to add functionality to applications.
-A wide range of built-in data types, including arrays, strings, and Date objects.
-The ability to create multi-threaded applications, which can take advantage of multiple CPU cores.

The main components of an Amazon VPC

An Amazon Virtual Private Cloud (VPC) is comprised of the following main components:

Virtual Private Cloud (VPC) – A isolated virtual network which is logically organised within the AWS cloud.

Subnet – A portion of a VPC’s IP address range wher groups of isolated resources can be placed.

Internet Gateway / Egress only Internet Gateway – The Amazon VPC side of a connection to the public Internet for both IPv4 and IPv6 protocols.

Router – A router is used to connect subnets within a VPC and to direct traffic between virtual private gateways, Internet gateways, subnets and NAT Gateways.

Peering Connection – A direction connection between two VPCs.

VPC Endpoints – A private connection to public facing AWS Services.

NAT Instance – Allows Internet access for EC2 instances which are located within a private subnet and are managed by an end user.

NAT Gateway – Enables Internet access for EC2 instances which are located within a private subnet and are managed by AWS.

Virtual Private Gateway – The Amazon VPC side of a Virtual Private Network connection.

Customer Gateway – The customer side of a VPN connection.

AWS Direct Connect – A high bandwith, high speed, private network connection from an AWS customer to AWS/

Security Group – An instance-level firewall.

Network ACL (NACL) – A subnet level firewall.

Visual Basic 6 / Active Server Pages / ASP.NET Web Forms / Visual Basic .NET / jQuery – Gold Coast – Australia

If your company needs help maintaining your legacy code or application, please contact us today.

All of those languages listed above produce what is know as Legacy Code in the Information Technology Industry.

So, what is Legacy Code?

Simply put, Legacy Code is a programming language or framework which although may be a few years old now is still being used commercially.

Some examples of Microsoft Legacy Languages / Frameworks are:

Active Server Pages programmed in VBScript
Visual Basic 6
Visual Basic .NET
ASP.NET WebForms
Earlier versions of SQL Server

In an ideal world there would be no such thing as Legacy Code and all exsiting applications written in these old languages would be upgraded to leverage the latest technologies.

Unfortunately the cost and risks in migrating existing applications to the latest technology can be overwhelming and businesses have no other option but to keep using their existing legacy application.

Further compounding the problem is the fact that it can be extremely hard to find developers who have the knowledge needed to maintain these legacy applications as most developers move ahead with the times.

A solid commercial working knowledge of these old frameworks and languages is a must. Therefore you need developers who have been developing as long as these languages have been commercially available; In some cases that’s almost twenty years.

Scalability concepts

The two types of scalability, vertical and horizontal.

Vertical scalability is where you increase the size of the instance in order to handle more requests e.g. you may add a larger processor or more ram to an ec2 instance in order to handle more requests.

Horizontal scalability is where you add more instances in order to handle the increased number of requests e.g. you may have one small server and then in order to handle more requests you add two more servers.

Vertical scalability is very common for non distributed systems such as a database whereas horizontal scalability is common for web applications.

High availability is the premise where if one server fails another server can carry on running your application or system. 

The main goal of high availability is to survive a data center loss and high availability usually goes hand in hand horizontal scaling.

The best way to provide high availability via AWS to place your ec2 instances in separate availability zones.

EFS versus EBS

The difference between EBS and EFS.

EBS volumes are only available in one Availability Zone and can be attached to only one ec2 instance at any one time.

Remember when taking a backup of your EBS volume that you should not perform a backup while your ec2 instance is handling traffic.

By default the EBS root volume will be terminated when the ec2 instance gets terminated although you’re able to override this setting via the management console.

EFS Elastic File System is able to be mounted across hundreds of ec2 instances across multiple Availability Zones and can be used to share files across multiple ec2 instances.

EFS is only available for Linux ec2 instances and is about three times more expensive than an EBS volume.

EFS supports storage tiers meaning you have the ability to move files to a different storage tier after a specified number of days which will enable some cost savings.

With EBS you have to provision the size of the volume when it is created where as for EFS you are only billed for what you use. 

In summary EFS is a file system which is able to be used across many ec2 instances and across many Availability Zones where as an EBS is only available in one Availability Zone and attached to one ec2 instance 

AWS EFS – Elastic File System

EFS is an acronym for elastic file system. AWS EFS is a network file system which is managed and is able to be mounted on more than one ec2 instance

Elastic file system is available to many ec2 instances in one or more Availability Zones and therefore allows multiple EC2 instances to share data.

AWS EFS is scalable, highly available but more expensive than EBS and you pay for what you use.

EFS has a security group attached to it and then the EFS will then be able to be attached to ec2 instances across multiple Availability Zones.

Is important to note EFS is only compatible with Linux AMI as it leverages the Linux POSIX file system and not Windows AMI.

The use cases for EFS are for web servers, contact management, data sharing and online blogs.

EFS uses NFSv4.1 protocol and requires a security group to control access to the EFS.

Encryption is provided using AWS-KMS and the file system is able to scale automatically so you do not have to reserve capacity 

EFS performance and storage.

EFS is able to scale to use thousands of NFS clients and can grow to petabyte-scale automatically.

EFS is available in two modes:

Performance mode is set when you create the EFS.

There are two types of performance modes:

General Purpose which is more geared towards general purpose such as web servers, content management systems etc. 
Maximum IO is available if you are trying to perform a Big Data workload on EFS. This mode comes at a cost of high latency but it does provide high throughput and is used in scenarios such as big data and media processing.

Throughput mode

There are two types of Throughput modes:

Bursting which is set at 1 Terabyte = 50 Megabyte with a burst of up to 100 Megabytes per second

Provisioned is where you specify the throughput regardless of the storage size. As an example, where an EC2 instance has a very small filesystem and requires a very high throughput then use Provisioned Mode for EFS.

EFS supports storage tiers which is essentially a lifecycle management feature where you’re able to move files to a different tier after a set amount of days.

There are two modes of storage tiers:

  • Standard which is used for frequently accessed files
  • Infrequent access (EFS-IA) for files which are not accessed frequently. It will cost money to retrieve files but is much cost effective to store the files

EC2 Instance Store

Whilst EB2 network drives offer good but limited performance, there is another type of volume store called EC2 Instance Store.

An EC2 instance store is a high performance hardware disk which offers better I/O performance than an EB2 volume.
However, be aware that an EC2 Instance Store will lose all their information once they are stopped and are therefore ephemeral.

The use case for an EC2 Instance Store is for caching, storage of temporary information, scratch data etc, essentially any temporary information you can afford to lose.

The backup and replication of EC2 Instance Stores is the responsibility of the AWS user and EC2 Instance Stores run the risk of data loss in the event of hardware failure.


AMI is an acronym for Amazon Machine Image and represents an EC2 instance which has been customised (Think of an AMI as a template).

There are three ways to instantiate an EC2 instance from an AMI:

  • From the library of available Amazon AMI images; an example is when we create a new t2 micro image via the AWS management console
  • From a library of commercially available AMI images via the AWM Marketplace AMI
  • By creating your own AMI template based on your own software, configuration

Note that AMI are built for a specific region and the use case is when you wish to have faster EC2 configuration and start times as the software is already pre-installed on the EC2 image

The process for creating an AMI is as follows:

  • Create a base EC2 instance and then customise the instance with the required configuration and software
  • Stop the instance to ensure data integrity (i.e. Nothing is being written to the instance whilst an AMI is being created from it)
  • Create the AMI; doing so will also create the necessary EBS volume snapshots

The AMI is now complete and available for other EC2 instances to be launched from it