Intensive Care Unit - Data Collection

Precision Medicine Data Platform

Recently TechConnect and IntelliHQ attended the eHealth Expo 2018. IntelliHQ are specialists in Machine Learning in the health space, and are the innovators behind the development of a cloud-based precision medicine data platform. TechConnect are IntelliHQ’s cloud technology partners, and our strong relationship with Amazon Web Services and the AWS life sciences team has enabled us to deliver the first steps towards building out the precision medicine data platform.

This video certainly sums up the goals of IntelliHQ and how TechConnect are partnering to deliver solutions in life sciences on the Amazon Web Services cloud platform.

Achieving this level of integration with the General Electric Carescape High Speed Data Interface is a first in Australia and potentially a first outside of America. TechConnect have designed a lightweight service to connect to the GE Carescape and push the high fidelity data to Amazon Kinesis Firehose and then to persisted cost effective storage on Amazon S3.

With the raw data stored on Amazon S3, data lake principles can be applied to enrich and process data for research and ultimately help save more lives in a proactive way. The diagram below shows a high level architecture that supports the data collection and machine learning capability inside the precision medicine data platform.


GE Carescape HSDI to Cloud Connector

This software, named Panacea, will be made available as an open source project.

Be sure to explore the following two sources of further information:

Check out Dr Brent Richards’ presentation at the recent eHealth Expo 2018 as well as a selection of other speakers located here.

AIkademi seeks to develop the capabilities of individuals, organisations and communities to embrace the opportunities emerging from machine learning.

AWS SAM Project

Using AWS SAM for a CORS Enabled Serverless API

Over the past two years TechConnect has had an increasing demand for creating ‘Serverless’ API backends, from scratch or converting existing services running on expensive virtual machines in AWS. This has been an iterative learning process for us and I feel many others in the industry. However, it feels like each month pioneers in the field answer our cries for help by creating or extending Open-source projects to make our ‘serverless’ lives a little easier.

There are quite a few options for creating serverless applications in AWS (Serverless Framework, Zappa, etc..). However, In this blog post, we will discuss using AWS SAM (Serverless Application Model, previously known as Project Flourish) to create a CORS enabled API. All templates and source code mentioned can be found in this GitHub repository. I heavily recommend having this open in another tab, along with the AWS SAM project.

AWS SAM Project

API Design First with Swagger

Code or Design first? One approach is not necessarily better than the other, but at TechConnect we’ve been focusing on a design first mentality when it comes to building APIs for our clients. We aren’t the users of the APIs we build and we aren’t the front-end developers who might build a website off of it. Instead our goal when creating an external API is to create a logical and human readable API contract specification. To achieve this we use Swagger, the Open API specification to build and document our RESTful backends.

In the image below, we have started to design a simple movie ratings API in YAML using the Open API specification. In its current state, it is just an API contract showing the requests and responses. However, it will be further modified to become an AWS API Gateway compatible and AWS Lambda integrated document in future steps.

Code Structure

Our API is a simple CRUD that will make use of Amazon DynamoDB to create, list and delete movie ratings of a given year. This could all easily reside in a single Python file, but instead we will split it up to make it a little more realistic for larger projects. As this is a small demo, we’ll be missing a few resources that would usually be included in a real project (tests, task runners, etc..), but try having a look at The Hitchhiker’s Guide to Python for a nice Python strucure for your own future APIs.

- template.yaml
- swagger.yaml
- requirements.txt
- movies
  - api

  - core

Our Python project movies contains two sub-packages; api and core. Our AWS Lambda handlers are located in , where each handle will; process the request from API Gateway, interact with DynamoDB (using a table name set by an environment variable) and return an object to API Gateway.

from movies.core import web

def get_ratings(event, context):
    return web.cors_web_response(200, ratings_list)

CORS in Lambda Responses

In the previous step you might have noticed we were using a function to build an integration response. The object body is serialized into a JSON string and the headers Access-Control-Allow-Headers, Access-Control-Allow-Methods and Access-Control-Allow-Origin are enabled for Cross-Origin Resource Sharing (CORS).

def cors_web_response(status_code, body):
    return {
        'statusCode': status_code,
        "headers": {
        'body': json.dumps(body)

CORS in Swagger

Previously in our Lambda code, we built CORS headers into our responses. However, this is only one half of the solution. Annoyingly we must add an OPTIONS HTTP method to every path level of our API. This is to satisfy the preflight request done by the client to check if CORS requests are enabled. Although it uses x-amazon-apigateway-integration, it is a mocked response by API Gateway. AWS Lambda is not needed to implement this.


      - "CORS"
      - application/json
      - application/json
          description: 200 response
            $ref: "#/definitions/Empty"
              type: string
              type: string
              type: string
            statusCode: 200
              method.response.header.Access-Control-Allow-Methods: "'DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'"
              method.response.header.Access-Control-Allow-Headers: "'Content-Type,Authorization,X-Amz-Date,X-Api-Key,X-Amz-Security-Token'"
              method.response.header.Access-Control-Allow-Origin: "'*'"
        passthroughBehavior: when_no_match
          application/json: "{\"statusCode\": 200}"
        type: mock

Integrating with SAM

Since AWS SAM is an extension of CloudFormation, the syntax is almost identical. The snippets below show the integration between template.yaml and swagger.yaml. The AWS Lambda function GetRatings name is parsed into the API via a stage variable. swagger.yaml integrates the Lambda proxy using x-amazon-apigateway-integration. One important thing to note is that the Swagger document is not required to create an API Gateway resource in AWS SAM. However, we are using it due to our design first mentality and it being required for CORS preflight responses. The AWS SAM team are currently looking to reduce the need for this in CORS applications. Keep an eye out for the ongoing topic being discussed on GitHub.


AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
    Type: AWS::Serverless::Api
      DefinitionUri: swagger.yaml
      StageName: v1
        GetRatings: !Ref GetRatings
    Type: AWS::Serverless::Function
      CodeUri: ./build
      Handler: movies.api.ratings.get_ratings
      Role: !GetAtt CrudLambdaIAMRole.Arn
          RATINGS_TABLE: !Ref RatingsTable
          Type: Api
            RestApiId: !Ref ApiGatewayApi
            Path: /ratings/{year}
            Method: GET

            statusCode: 200
              method.response.header.Access-Control-Allow-Origin: "'*'"
        uri: arn:aws:apigateway:REGION:lambda:path/2015-03-31/functions/arn:aws:lambda:REGION:ACCOUNT_ID:function:${stageVariables.GetRatings}/invocations
        passthroughBehavior: when_no_match
        httpMethod: POST
        type: aws_proxy

Deploying SAM API

Now that all the resources are ready, the final step is to package and deploy the SAM application. You may have noticed in the template.yaml the source of the Lambda function was listed as ./build. Any AWS Lambda function that uses non-standard Python libraries will require them to be included in the deployment. To demonstrate this, we’ll send our code to a build folder and install the dependencies.

$ mkdir ./build
$ cp -p -r ./movies ./build/movies
$ pip install -r requirements.txt -t ./build

Finally, you will need to package your SAM deployment to convert it to a traditional AWS CloudFormation template. First your will need to make sure your own account id and desired region are used (using sed). You will also need to provide an existing S3 bucket to store the packaged code. If you inspect the template-out.yaml you will notice that the source of each AWS Lambda function in an object in S3. This is what is used by aws cloudformation deploy. One final tip is to remember to include --capabilities CAPABILITY_IAM in your deploy if you are creating any roles during your deployment.

$ sed -i "s/account_placeholder/AWS_ACCOUNT_ID/g" 'swagger.yaml'
$ sed -i "s/region_placeholder/AWS_REGION/g" 'swagger.yaml'
$ aws cloudformation package --template-file ./template.yaml --output-template-file ./template-out.yaml --s3-bucket YOUR_S3_BUCKET_NAME
$ aws cloudformation deploy --template-file template-out.yaml --stack-name MoviesAPI --capabilities CAPABILITY_IAM
AWS Lambda Specialty - Australia Partners

AWS Service Delivery Program for AWS Lambda

30 November 2016 – TechConnect IT Solutions, Making Your Cloud Journey a Success, announced today that it has achieved AWS Service Delivery Partner status for AWS Lambda.

The AWS Service Delivery Program is designed to highlight AWS Partner Network (APN) Partners who have a track record of delivering verified customer success for specific Amazon Web Services (AWS) products.

The AWS Service Delivery Program was recently launched to help AWS customers find qualified APN Partners that provide expertise in a specific service or skill area. To qualify, partners must pass service-specific verification of customer references and a technical review, meaning customers can be confident they are working with partners that provide recent and relevant experience.

AWS Lambda Partners provide services and tools that help customers build or migrate their solutions to a micro-services based serverless architecture, without the need to worry about provisioning or managing servers.

TechConnect, an Amazon Web Services Advanced Consulting Partner, is proud to participate in the AWS Service Delivery Program for AWS Lambda” said Mike Cunningham, CEO. “Our dynamic team assist organisations to deliver applications in the cloud using elastic serverless architectures. Applications built with no servers means a truly elastic and resilient architecture that grows with you.”

TechConnect build robust and secure serverless architectures with Amazon S3, Amazon Content Distribution Network, Amazon Route53, Amazon Certificate Manager, Amazon API Gateway, Amazon Lambda, Amazon RDS and\or Amazon DynamoDB.

DevOps in the Amazon Web Services Cloud

Are you game?

Gaming Solutions built on the Amazon Cloud

The time is now for Online Gaming

Not so long ago we spoke about the The Future of Cloud Services for Online Gaming and pointed out some of the fear uncertainty and doubt (“FUD”) surrounding online gaming software  providers and gaming operators deploying gaming solutions in the Amazon Web Services cloud.  Much of the concern came from ambiguous text surrounding illegal content and questionable activities.  Shown below as an excerpt from the previous version of the Amazon Acceptable Use Policy circa February this year.


No Illegal, Harmful, or Offensive Use or Content

You may not use, or encourage, promote, facilitate or instruct others to use, the Services or AWS Site for any illegal, harmful or offensive use, or to transmit, store, display, distribute or otherwise make available content that is illegal, harmful, or offensive. Prohibited activities or content include:

  • Illegal Activities. Any illegal activities, including advertising, transmitting, or otherwise making available gambling sites or services or disseminating, promoting or facilitating child pornography.


Today it is a very different matter due to the update on the 16th September 2016, note the omission of any statements with regards to gaming.


You may not use, or encourage, promote, facilitate or instruct others to use, the Services or AWS Site for any illegal, harmful, fraudulent, infringing or offensive use, or to transmit, store, display, distribute or otherwise make available content that is illegal, harmful, fraudulent, infringing or offensive. Prohibited activities or content include:

  • Illegal, Harmful or Fraudulent Activities. Any activities that are illegal, that violate the rights of others, or that may be harmful to others, our operations or reputation, including disseminating, promoting or facilitating child pornography, offering or disseminating fraudulent goods, services, schemes, or promotions, make-money-fast schemes, ponzi and pyramid schemes, phishing, or pharming.
  • Infringing Content. Content that infringes or misappropriates the intellectual property or proprietary rights of others.
  • Offensive Content. Content that is defamatory, obscene, abusive, invasive of privacy, or otherwise objectionable, including content that constitutes child pornography, relates to bestiality, or depicts non-consensual sex acts.
  • Harmful Content. Content or other computer technology that may damage, interfere with, surreptitiously intercept, or expropriate any system, program, or data, including viruses, Trojan horses, worms, time bombs, or cancelbots.


As far as we can tell, the FUD is now a thing of the past.  Embrace the future and the powerful elasticity of the cloud.

Gaming Solutons for AWS Cloud

Online Gaming in the Cloud

Gaming Solutions built on the Amazon Cloud

The Future of Cloud Services for Online Gaming

The Ultimate Marriage

Cloud Computing and Online Gambling is like the series How I Met Your Mother, you know the outcome but the journey to the end of the series is filled with failed relationships, trials, tribulations and the most beautiful moments! We all live for those moments and there is one on the horizon waiting for us.

Cloud and Online Gaming\Gambling are a match made in heaven! There are certain key aspects that align well to the industry these include:

  • Peak Load scalability, why buy hardware for a peak load that occurs once a year when you can scale on demand?
  • Distributed Denial of Service (“DDoS”) mitigation comes as part of the service.
  • Agility, move into new markets in days not weeks or months.
  • Test new markets: fail early, fail fast allows experiments to occur more often with minimal financial impact.
  • Perfect for disaster recovery solutions.
  • Access capability that your budget would typically never allow.
  • Your challenge here


In the words of Robin Sherbatsky, “BUT UM” is this legal and allowed?

The online gambling industry has always been at the front of the technical curve but when it comes to the adoption of cloud based technologies they have historically been constrained by the highly regulated environment that they operate in.

Traditional enterprises, faced with highly competitive economic forces, have not been constrained by the same and have adopted cloud technologies in pursuit of competitive advantage. They have effectively paved the way in formulating an approach that balances risk and reward as can clearly be seen in the graphic featured later in this post.

For the gambling industry, the first step into the cloud does not have to be the critical production workload, in fact there are a number of auxiliary workloads that are probably better suited. Examples of these types of workloads are Content, Data Feeds, Big Data Analytics, Development and Test Environments.

An excerpt below from the Amazon Web Services’ Acceptable Use Policy clearly addresses the issue of illegal activities. In today’s highly regulated markets and legal framework for online gambling operators, they are clearly operating in a LEGAL environment no matter what your personal bias may be.


No Illegal, Harmful, or Offensive Use or Content

You may not use, or encourage, promote, facilitate or instruct others to use, the Services or AWS Site for any illegal, harmful or offensive use, or to transmit, store, display, distribute or otherwise make available content that is illegal, harmful, or offensive. Prohibited activities or content include:


  • Illegal Activities. Any illegal activities, including advertising, transmitting, or otherwise making available gambling sites or services or disseminating, promoting or facilitating child pornography.



Let us move on then.

Help I’m in a Jurisdiction!

Through time we’ve seen regulators soften to the ideas of the modern computing architecture. We’ve progressed from dedicated systems to virtualisation, content distribution from outside the jurisdiction rather than inside, shared platforms for auxiliary systems and a much released grip on the back-office operations (IT specifically not the processes!).

It is only a matter of time before regulators warm to the idea of cloud infrastructures, granted through persistence from the smart licensees. Amazon Web Services now have enter ever changing number here data centres throughout the world, take a look at the existing and planned presence of the Amazon Web Services Global Infrastructure. There should be less and less reason why regulators must enforce in country or region jurisdictions, albeit job creation is a nice excuse.

A great recent example of jurisdictional risk is the Australian Lottoland crash, read at your leisure.

Carpe Diem

Your journey is yours to control.

Not having a strategy to deal with cloud computing will be a risk to your business.

Some applications are better suited to the cloud, are quicker to migrate, are of less value and of less risk to the business. Selecting the right applications to move is an important step in a successful cloud migration.

Why not start with something easy such as content distribution networks (Amazon CloudFront), archiving and cold storage (Amazon S3 and Glacier) or web services protected by DDoS mitigating services like Elastic Load Balancing and Amazon CloudFront? Content distribution, what a great way to start experimenting with cloud services as the gaming industry has been doing this for years already.

Amazon Web Services is not simply an alternative to servers or storage, it is a best-of-breed Infrastructure as a Service and Platform as a Service provider, well ahead of the rest. Independent reports show that Amazon is clearly the leader in the market.

Amazon Web Services Adoption Strategy

Enterprise Migration Path Example

Source Migrating Enterprise Applications to AWS: Best Practices & Techniques (ENT303) | AWS re:Invent 2013

Is it Secure?

Let’s be frank, Amazon Web Services wouldn’t have the rate of adoption it has without good security. Security is paramount and interwoven into every aspect of systems design, deployment and management. There are indeed operators that haven’t invested in advanced security because of the price and cost of ownership, cloud services greatly reduces the barriers to adoption of the best security tools and practices available. Just pay-as-you-go, it becomes really affordable and you will improve your security and availability if correctly planned. Satisfy yourself by visiting the Amazon Web Services Security page or take a look at the accreditations achieved.

The Future of Amazon Web Services for the Gaming Industry

I encourage you to read further as Amazon are investing heavily in architectures to support gaming, much of the same applies to gambling architectures:

Amazon Lumberyard

Amazon Lumberyard is a free, cross-platform, 3D game engine for you to create the highest-quality games, connect your games to the vast compute and storage of the AWS Cloud, and engage fans on Twitch.

By starting game projects with Lumberyard, you can spend more of your time creating great gameplay and building communities of fans, and less time on the undifferentiated heavy lifting of building a game engine and managing server infrastructure.

Amazon Gamelift

Amazon GameLift, a managed service for deploying, operating, and scaling session-based multiplayer games, reduces the time required to build a multiplayer backend from thousands of hours to just minutes. Available for developers using Amazon Lumberyard, Amazon GameLift is built on AWS’s highly available cloud infrastructure and allows you to quickly scale high-performance game servers up and down to meet player demand, without any additional engineering effort or upfront costs.

Gaming Case Studies

Amazon Web Services offers a comprehensive suite of products and services for video game developers across every major platform: mobile, console, PC and online. From AAA console and PC games, to educational and serious games, AWS provides the back end servers and hosting services for your game studio.

Build, deploy, distribute, analyze and monetize with AWS. Pay as you go, and only pay for what you use. Focus on your game, not your infrastructure.

GO EXPERIMENT and Barney Stinson says “BE LEGEN-wait-for-it-DARY!”


TechConnect will be happy to Make YOUR Cloud Journey a Success!


iPaaS Gartner Cool Vendor Integration

Universal Platform – At a Glance

About Universal Platform

Recently listed as Gartner Cool Vendor 2015, Universal Platform is an Integration Platform as a Service (iPaaS) providing tooling for subject matter experts to collect, trust and use data within the business. Subject matter experts gain access to complex components through a drag-n-drop interface akin to building blocks. The blocks are combined together to build out cities or solutions to business problems. Visit Universal Platform at Gartner AADI in July.

About TechConnect

TechConnect IT Solutions Pty Ltd is an information management provider with competencies in information management, disaster recovery and successful cloud adoption. Established in 2011, TechConnect clients include Hutchinson Builders, Transpacific Industries, Derivco International, Microgaming Software Solutions, Echo Entertainment, Integrated Traceability Solutions Global and Zapper. TechConnect’s management team has over 50 years industry accumulated experience in operating large-scale data environments for zero downtime e-commerce systems as well as design and implementation of disaster recovery strategies. Supporting product suites include Universal Platform, Science Logic, New Relic and Amazon Web Services.

Gartner Cool Vendor excerpt

“Who Should Care: Integration teams seeking to empower business roles with capabilities to model, ingest and share data, and augment business flows despite the obstacles of different terminology and complexity that may exist across departments and systems, should consider this vendor.”

Gartner Disclaimer

Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner’s research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.