Cloud Architecture: An Introductory Guide to Getting it Right from the Start

Cloud Architecture: An Introductory Guide
Reading Time: 4 minutes

In this article:

  • Modernizing applications starts with a cohesive, cloud architecture
  • Considerations for database selection, application delivery, and frameworks
  • Four essential questions to help guide your cloud architecture

A solid foundation for a cloud architecture is essential to the success of any application. An overarching vision for the application provides direction, but there are numerous decisions required in developing its architecture. Inevitably, a lack of planning or structure causes significant pain and headaches down the road. For example, more than half of companies report difficulty with their DevOps journey. In fact, long-term planning is considered a new practice for most with only 34% of firms reporting that they plan for long-term IT architecture. From cloud strategy to assessing the level of expertise on your team, a solid cloud architecture foundation starts with answering key questions rather than every single question. 

Considerations for Your Cloud Architecture

Evaluating all the decisions for a cloud architecture is overwhelming. Here are a few considerations to help establish a sturdy foundation that will benefit you: 

Cloud dependent or cloud agnostic? 

The pivotal first decision is whether the application will embrace cloud-native hosting, or if it is better suited for a cloud-agnostic platform. My choice – go with cloud-native and reap the benefits of speed and simplicity. Cloud-native offers benefits such as autoscaling, a pay-per-use model, and faster development. 

Which Database? 

SQL or NoSQL? Graph? Distributed? Will it be self-managed or cloud-hosted? 

Data is your most valuable asset. Selecting the right database is one of the most important decisions to consider. Why? Switching to another one is difficult and expensive due to the effort, complexity and outbound data charges. For instance, cloud providers don’t charge you to put data in (ingress), but they do charge you to take data out (egress). 

Which application delivery/runtime? 

Containers or Serverless. If you select containers, which container engine? What will you use for container orchestration? Who will manage it?  

My choice – utilize a “Serverless First” approach. Most workloads are candidates for a serverless implementation. Learn more about how you can determine if your application is suited for a serverless from our guide. 

What framework will you follow? 

AWS or Azure Well-Architected Framework, or something else? How will you ensure security from end to end of the entire stack? 

What logging and visualization tools will you use? 

The default logging and visualization capabilities provided by the cloud providers are basic with limited capability. Given that “logs are gold,” these tools are instrumental in problem detection and diagnosis.    

What will you use for CI/CD? 

How will you be able to deploy multiple times per day without any service interruption?  Will you use one of the cloud provider solutions, or do you prefer a more cloud-agnostic approach? 

4 Essential Questions to Get Started

All of these decisions could differ for each application. Taking a step back and answering key questions at a higher level will guide decisions for more detailed, technical ones.  When I’m engaging with a client on an application modernization project, I start with these four questions:  

  1. What is your cloud strategy?  
  2. What is your container strategy?  
  3. What is your open source strategy?  
  4. What is the level of expertise of your team?  

Having certainty to any of these questions yields a cohesive technology strategy for the organization. Without a set foundation for the cloud architecture, teams within an organization will act independently and operate under splintering understandings of the vision, creating havoc and decreasing speed and reusability. 

Here’s a simple but sample strategy statement that would cover these questions:  

Our cloud strategy is to build cloud-native applications in AWS – portability to other cloud environments is not a requirement. We prefer to use SaaS offerings and not install or implement anything that we must manage ourselves. If there is no such offering in AWS, we will utilize an open-source solution after completing due diligence and choosing the best option. Our apps follow the Twelve-Factor methodology and AWS Well-Architected frameworks to ensure availability, scalability and security.  

Although it’s not extensive, this sample statement does answer the critical questions that provide a strong direction to your engineering teams. The key is to develop one that’s perfect for your needs.

In Conclusion

Building a strategic cloud architecture plan starts by asking essential questions about your strategy. A game plan for cloud deployment, containers, open-source, and an assessment of team talent will provide a launchpad for successful application development. 

With a plethora of options to choose from, laying the groundwork to create a uniform approach will set realistic and tangible expectations for development. Here at GAP, our cloud-native experts can help your team build a cloud architecture. Sign up today for a “Modernization Workshop for Architects,” covering cloud-native development, microservices, containers, serverless, big data and DevSecOps. 

If this article interests you and you are a technical leader, you may join my secret underground Slack channel. Please reach out to me if you’re interested in discussing topics like this and others with your peers across all industries. 

About Dave Moore

Chief Innovation Officer, Dave Moore

Dave Moore is GAP’s Chief Innovation Officer. He is a seasoned technology executive with more than 25 years of experience in conceptualization and crafting innovative solutions that provide scalability, widespread end-user adoption, and substantially increased revenue. Dave’s experience has given him unique insight into building diverse teams, and expert knowledge of microservices, Serverless, cloud optimization, CI/CD, security, big data and open-source technologies. You can connect with Dave on LinkedIn, or send him an email.