Cloud architecture refers to the design and structure of a cloud computing environment. It encompasses the various components, services, and infrastructure required to build and operate applications and systems in the cloud. Cloud architecture aims to provide scalability, reliability, security, and cost-effectiveness for cloud-based solutions.
Here are some key aspects of cloud architecture:
Cloud Service Models: Cloud architecture typically involves one or more of the three main cloud service models:
- Infrastructure as a Service (IaaS): Provides virtualised computing resources, such as virtual machines, storage, and networking infrastructure, allowing users to deploy and manage their own applications.
- Platform as a Service (PaaS): Offers a higher level of abstraction by providing a development and deployment platform that includes runtime environments, databases, and middleware. Users can focus on application development without managing the underlying infrastructure.
- Software as a Service (SaaS): Delivers complete software applications over the internet, eliminating the need for users to install or maintain software locally. Examples include web-based email, customer relationship management (CRM) systems, and collaboration tools.
Cloud Deployment Models: Cloud architecture can also consider different deployment models:
- Public Cloud: Services and infrastructure are provided by third-party cloud service providers, accessible over the internet by multiple organisations or individuals.
- Private Cloud: Services and infrastructure are dedicated to a single organisation and may be hosted on-premises or by a third-party vendor. It offers more control and customisation but requires higher upfront investment.
- Hybrid Cloud: Combines public and private cloud resources, allowing organisations to leverage the benefits of both. It enables workload flexibility, data integration, and scalability.
- Multi-Cloud: Involves using services from multiple cloud providers to avoid vendor lock-in, optimise costs, and take advantage of specialised offerings.
Cloud Infrastructure Components: Cloud architecture typically includes various components and services, such as:
- Virtual Machines (VMs): Virtualised computing instances that run applications and services.
- Storage: Cloud-based storage services for data persistence, backup, and retrieval, including object storage, block storage, and file storage options.
- Networking: Infrastructure for connecting resources and establishing secure communication between components, including virtual networks, load balancers, firewalls, and virtual private networks (VPNs).
- Databases: Cloud-based database services for structured and unstructured data storage and management, such as relational databases (e.g., MySQL, PostgreSQL) and NoSQL databases (e.g., MongoDB, Cassandra).
- Identity and Access Management (IAM): Tools and services for managing user identities, access controls, and permissions within the cloud environment.
- Monitoring and Management: Solutions for monitoring the performance, availability, and health of cloud resources, as well as tools for managing and automating deployments, scaling, and resource allocation.
Security and Compliance: Cloud architecture includes considerations for securing cloud-based systems, such as data encryption, access controls, network security, and compliance with relevant regulations and standards.
Scalability and Resilience: Cloud architecture enables organisations to scale their applications and infrastructure dynamically based on demand. It leverages features like auto-scaling, load balancing, fault tolerance, and disaster recovery to ensure high availability and resilience.
Cost Optimisation: Cloud architecture aims to optimise costs by leveraging pay-as-you-go pricing models, resource optimisation techniques, and monitoring tools to manage and control cloud usage and expenditure.
So basically cloud type SOA is not new, it has existed in some way or form since almost the beginning of computing… Remember when you were buying computing time from a mainframe back in the days? At the time, the network connection was poor or nonexistent, so one had to physically go to a place where one would use a terminal to ask the “computer” to do some task… The internet evolving rapidly, the bandwidth and speed of transmission have allowed for the work to be submitted to a remote computer and the response to be requested from very far away… Maybe by your pool on the other side of the world, for instance… So cloud is “someone else’s computer” you are renting without the need to build, own or support it… Let me show you a well known analogy for it:
Designing an effective cloud architecture requires careful consideration of an organisation’s specific requirements, such as performance needs, data storage and processing requirements, security and compliance considerations, and budget constraints. It involves selecting the appropriate cloud service models, deployment models, and infrastructure components to meet the organisation’s goals and deliver reliable and scalable solutions in the cloud.
So Basically here is what the market has to offer:
Now, when it comes to Cloud Architecture roles, you need to ask yourself first, where would you fit?
So to find this out, the first question is asking whether you are offering the service or consuming it. If you are consuming it, then mostly your concerns will be around contracting the cloud supplier’s services to suit your needs from a business and cybersecurity viewpoints. If you have ever setup, say, a WordPress website for instance, then you have been using cloud services. You logged in to a web based service which allowed you to build the website without any of it to be hosted on your machine.
Now imagine that you want to run your business the same way? You would pay a subscription for things like word processing, accounting, payroll, invoicing etc. without ever having to install anything from your end. To start using the service(s), all you have to do is use your authentication tuples to connect to the online service securely and… voilà!
How you end up choosing that service in the first place, required you to know exactly what you wanted to do, how you wanted to do it, when, how secure you wanted it to be and eventually how much you wanted to spend on it.
A thorough analysis of your business architecture target in terms of process, services, capabilities needs to be provided by the cloud service provision (CSP) is mainly what you need to do. You can also define how your online assets should be protected, but these days it comes pretty much included in the services you are hiring online. This would be your Service Oriented Architecture taken care of. But today, choosing the right service can be daunting given the sheer amount of offers out there…
A strong contracting skill and ability is a must, too, to decipher what you will be actually paying for. I even predict that it won’t be long until we see Contracting Architect roles showing up on the job market or at the very least commercial contracting skills being part of the selection process of all 4+1 domain architects … That’s where the Micro Service Architecture solution design comes into play. You don’t have to buy an end to end service, you can build one yourself, made of service components; just like you would by assembling virtual Lego blocks. Well, on paper at least…
Even if CSPs now leverage virtualisation, do not confuse the two. When one is using a cloud service, one simply is after “renting” someone else’s computing power. Sometime such structure is proprietary and offers virtualised environment where there is no physical installation happening as you would on an onsite normal server on a dedicated hardware, but rather often a compartmentalised amount of memory on a system that has a lot of CPU power and therefore cycles for hire.
- Is a technology that optimises resource utilisation within an organisation’s infrastructure, while cloud computing is a service-based model that provides on-demand access to computing resources and services over the internet.
- Can be seen as a building block for cloud computing, as it helps enhance resource efficiency within a cloud infrastructure.
- Would belong to the Technology Architect’s domain, mostly, while a cloud solution or service offer would need to be designed across the 4+1 domains of architecture.
Now if you are one of those big cloud service companies out there, you have built such an offer for clients, and you are continuously building up your catalogue and making it better faster cheaper for clients architect to choose and assemble from.