Leaping to the clouds
Possibilities and risks
- Article - Software Best Practices
The adoption of cloud computing has quickly become a key factor for technology in businesses today. In the first part of our “Leaping to the Clouds” series, we outlined the benefits of cloud platforms, and the battle between AWS, Microsoft Azure, and Google Cloud.
Selecting a single cloud vendor over others will come down to the business’s requirements and technology strategy. In some scenarios, organisations might leverage multiple providers within different parts of their operations, or for different use cases – called a multi-cloud approach.
Different cloud platforms support different features in different regions. This has an impact on the performance and technical architecture of solutions. Evaluating the supported services and future roadmap for each platform in your specific region can guide which platform is best for you.
1. Regional data centre support
Data regulations and latency of solutions are key considerations when choosing a cloud platform based on the regions that they provide. The closer data centres are to your users, the faster your solution’s response times will be. Furthermore, there may be requirements to house data within your country or region. Here are the top considerations when picking a cloud platform based on their region availability.
Building and deploying solutions are great, but the magic happens when it’s used in production.
1.1. Network performance
Network latency is an expression of how much time it takes for a packet of data to get from one computer to another. If a data centre is physically further away, it’s likely that the data has to travel a further distance over cables and transmitters to arrive at the users’ device. The network performance is the most critical factor for highly performant solutions when deciding on a regional data centre.
1.2. Data compliance
Data compliance is a significantly important factor to consider when determining the right data centre. Local and international businesses need to guarantee that any software deployed in the cloud abide by the laws and regulations in accordance to the location of the company’s headquarters, foreign subsidiaries, employees, users and vendors. Despite the primary location of the data, any backup locations must ensure that these laws and regulations are followed.
1.3. Service availability
Not all services provided by each cloud platform are available in all regions. This can impact the design of new solutions, and the greater architecture of the technology ecosystem within a business. Services can be leveraged from different data centres, however, the network performance and data compliance impact needs to be understood.
1.4. Data centre costs
If latency is not a significant concern for solutions, applications and data can be deployed in a region with a lower cost. Prices for services in different regions can be comparable but it can also vary by up to 20%.
AWS and Azure both have local data centres in South Africa, with essential and their most popular services available. Google Cloud has yet to deploy data centres in Africa.
2. Overview of services offered per platform
Most software solutions require fundamental computing for running systems and applications, data storage capabilities, authentication and authorisation functionality, and system monitoring. All cloud platforms offer comparable services to fulfil these needs. In addition, each cloud platform offers more native services and features that allow for rapid development by leveraging their productised services for faster development of applications, data processing, machine learning, and more.
2.1. Computing
Computing is the heart of software solutions. Computing differs based on the hardware used, efficiency of the operating system, and architecture of the solution. There three primary computing options with cloud platforms.
- Virtual Machines (VM): VMs emulates real computers that can execute programs and applications without having direct contact with any actual hardware.
- Containers: Like virtual machines, containers provide an environment for microservices to be deployed, managed, and scaled independently — but in a more streamlined way.
- Serverless: Despite its terminology, serverless doesn’t necessarily mean that are no servers involved. Serverless allow for atomic functions to be executed as they are needed. All container or infrastructure provisioning is handled by the cloud platform but you’re usually tied to the platform as porting functions is not trivial.
2.2. App hosting
Most interactions with software services happen over the internet or a private network. The primary language of communication is the Hyper Text Transfer Protocol (HTTP). Applications need to be deployed to a hosting management solution that exposes the right end-points to the right users to be accessed via HTTP. All cloud providers offer networking and application hosting solutions for almost all programming frameworks.
2.3. Storage
If computing is the heart of a software solution, data is the blood that it pumps. Data comes in all shapes and sizes, but there are of data storage requirements. AWS and Azure provide extensive options for data storage services. Google Cloud offers a simplified combined service.
- File storage: This includes images, PDFs, zip files, and more. This is also known as Known as Binary Large Objects (BLOB) storage.
- Transactional data storage: This includes traditional relational databases where data is organised into tables and related based on unique identifiers. And the data is used for transactions in the operation of applications and systems.
- Performance stores: This is typically data that is cached for frequent access and is aimed at improving performance.
- Analytics and reporting: Data used for extracting analytics insights and system reporting is stored separately and shouldn’t interfere with operational data.
2.4. Auth and security
Reliable auth and security mechanisms are critical for most software solutions. This includes providing mechanisms for verifying identity, granting correct access, and securing software solutions from attacks. All cloud platforms provide enterprise-level identity services and out-of-the-box mechanisms to secure solutions.
2.5. Monitoring and analytics
Building and deploying solutions are great, but the magic happens when it’s used in production. All cloud platforms provide tooling for application and system monitoring to allow scaling for load, identifying errors, and examining how solutions are used.
2.6. Purpose-specific services
Machine learning, AI, IoT and other hot technology advances have prompted cloud providers to create supporting read-to-use services. All cloud platforms have a machine learning, cognitive services, and IoT offering, with AWS experimenting in the AR / VR space.
- Machine learning
- Cognitive services
- Internet of Things (IoT): Refer to our latest publication, “Demystifying IoT” to learn more.
- Augmented Reality (AR) and Virtual Reality (VR)
[Source: Datamation – AWS vs Azure vs Google Cloud: 2021 Cloud Platform Comparison]
Choosing a cloud provider is not a trivial process. It’s dependent on a number of factors including your long-term business vision and requirements, the use cases for your systems and applications, the skills and maturity of your technology teams, and data regulations. Creating a technology roadmap taking all business, people, and technical considerations into account will crystalise the way forward and guide decision making.
Create or refine your cloud strategy
Get in touch with us to create a cloud strategy or revisit yours with a complimentary 4-hour lightning workshop.