STUDY GUIDE

Infrastructure & Application Modernisation with Google Cloud

Google Cloud Digital Leader Synopsis Section 3

Rycole
7 min readSep 8, 2022

Welcome to the third article in my Google Digital Leader Synopsis series! All the key terms that you will need to be familiar with are highlighted in bold and defined at the bottom of the articleđź“Ś

In this article we will cover the modernisation of an organisation’s infrastructure and applications to alleviate the need for legacy systems and how to extract data from legacy systems that can’t be decommissioned.

Note: Please use this article as a guide to supplement your learning. I recommend reading all the Google cloud documentation provided in full for complete exam preparation.

Modernisation of IT Infrastructure

In Section 1 of this series we discussed traditional IT infrastructure and the cost of maintaining and storing data on on-premise data centres . Such infrastructure are called legacy systems, which can become outdated and unscalable when customer demand grows. We also learnt that a solution to these issue would be migrate data to the cloud. Outdated infrastructure can then be modernised by replacing them with different compute option available in the cloud. If a complete migration is not suitable for an organisation, they also have the option to use a combination of on-premise and cloud technology.

Infrastructure Solutions

When an organisation decides to move to the cloud, they will be moving all the data that was stored on their local server to a colocation from a cloud provider. The data will then reside on a virtual machine that re-creates the functionality of a dedicated physical server that would have been located on-premise. By outsourcing some to all infrastructure to the cloud, organisation can reduce their costs, maintenance responsibilities and time. Dependant on how much an organisation would like to outsource their infrastructure, there are three main cloud computing service models :

Google Cloud’s shared responsibility model

Infrastructure as a Service (IaaS):
The cloud provider offers infrastructure services, including compute, storage, networking, and virtualisation. The user will have manage everything else. An example of this would be Google Compute Engine.

Platform as a Service (PaaS):
The cloud provider delivers and manages all the hardware, software resources and application development. The user will need to develop and deploy the app and manage the data. An example of this would be Google App Engine.

Software as a Service (SaaS):
The cloud provider delivers and manages the entire application stack, from the hardware infrastructure ,updates, bug fixes, and other general maintenance The user just needs to connect . An example of this would be Google Workspace.

Hybrid & Multi-cloud Architecture

For some organisations moving all IT infrastructure to the cloud may not be feasible due some reasons such as regulatory or application restraints. Therefore, there needs to be alternative infrastructure options. With a private cloud, organisations can virtualise their servers on their own data centres located on-premise. This would be ideal for companies that are required to keep some data on-premise. A hybrid cloud uses a combination of on-premise and public cloud solutions. Lastly, organisations can adopt a multi-cloud architecture using multiple public cloud providers for greater flexibility.

Google Cloud Solutions for Modernising Infrastructure

Now that we’ve discussed infrastructure solutions and architecture, we can take a look at the different cloud solutions available to build a modernised infrastructure. The table below summarises the three main categories of solutions available from Google Cloud, virtual machines, containers and serverless computing.

Differentiation between VM’s, Containers, and Serverless Computing

Modernisation of Applications

Up until now we have solely looked at modernising the infrastructure of an organisation and how this can be achieved. But as equally as important is how to modernise application that have previously been run on legacy systems and what benefits modernisation can provide to the development and deployment of an application.

Five Patterns for Modernisation

Google has identified five ways an organisation can chose to modernise their application:

1. Move to the cloud first, then change
2. Change applications, then move to the cloud
3. Greenfield: make application completely from scratch
4. Brownfield : development of an existing app to replace a legacy app.
5. Move without any changes.

Migrating the app and then changing it caused minimal changes to the organisation. Making changes prior to moving provides an opportunity to make the application more cloud-ready. Building an app in the cloud from scratch is great for creating an innovative application , but it will require more time and effort. Creating in brownfield allows for existing code to be reused and to add improvements to existing work, but dealing with legacy code could slow down development. Moving the application to the cloud without any changes is ideal for decommissioning on-premises infrastructure.

Modernisation Challenges

Common challenges that an organisation may encounter when trying to modernise their applications are:

1.Slow application development
2.Competition of resources with existing projects
3.Continuous deployment , testing and updating
4.Application downtime

Implementing updates of an application can be lengthy and potentially risky. So it is important to reducing the downtime of an app and test all changes made. Continuous integration and continuous deployment (CI/CD) is a best practice used by DevOps teams to help increase application release and reliability. CI/CD is an automated process and can be used with containers such as Google Kubernetes Engine.

Benefits of CI/CD include:
âś… Incremental roll outs
âś… Debug quickly
âś… Roll back to stable build
âś… Lower risk of regression
âś… Update application without service interruption

Application Programming Interfaces

We have briefly been introduced legacy systems earlier in this article, but here is a summary of their key limitations:

❌Complex
❌Expensive to maintain
❌Unable to digitise
❌Slow speed and scaling
❌Can’t connect to newer technology (E.g. The Cloud, IoT)
❌Can only share data in batches

Legacy systems would have stored copious amounts of data collected by an organisation over several years. So if they are not able to connect to newer systems, organisations risk losing access to historical data. Application Programming Interfaces (APIs) offer a way to modernise legacy systems. APIs are software intermediary that allows two applications to talk to each other. This means that organisation now have a way to connect current and past business experiences to derive new business value.

It is not uncommon for an organisation to have multiple legacy systems with differing functions. So you would expect the need for a variety of APIs to be created. This could become complex and time consuming for a large organisation to manage. Apigee is an API management tool provided by Google Cloud that enables developers and API providers to design, secure, analyse, and scale APIs anywhere with visibility and control.

đź“Ś Key terms

Hybrid Cloud: When an organisation uses some combination of on-premises or private cloud infrastructure and public cloud services.

Multi Cloud: When an organisation is using multiple public cloud providers as part of its architecture.

Hypervisor: The software layer that sits on top of physical hardware. Multiple VMs are built on top of the hypervisor and are enabled by it.

Virtual Machines (VM): A VM is a virtualised instance of a server that re-creates the functionality of a dedicated physical server. It uses a partitioned space inside a physical server which makes it easy to optimise and reallocate resources and allow multiple systems to run on the same hardware.`

Containers: Follows the same principle as a VM, providing an isolated environment to run software services and optimise resources from one piece of hardware. Containers are more efficient than VMs because they do not recreate a full representation of the hardware, but only recreate or virtualise the operating system.

Serverless Computing: A cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers. Businesses provide code for the function they want to run and the cloud provider handles all infrastructure management. Resources such as compute power are automatically provisioned behind the scenes as needed.

Application programming interface(API): A piece of software that interfaces with or connects different applications and enables information to flow between systems. In contrast to a user interface, which connects a computer to a person, an API connects computers or pieces of software to each other. One purpose of APIs is to hide the internal details of how a system works, exposing only those parts a developer wants to allow a user or program to interface with. In this way APIs can help organisations to adapt to modern business needs by allowing access to older legacy systems.

Ready for the next steps?

Click here for to move onto the next sections:

đź““Intro: How I studied for the Google Cloud Digital Leader Exam
đź““Section 1: Digital Transformation
đź““Section 2: Innovation with Data
đź““Section 4: Cloud Storage & Operations

--

--

Rycole

Sharing solutions to solve problems faster | #Data #Engineer #Tech