Article

Sustainable and Reliable Cloud Architecture Provides a Flexible Foundation for the Future

A well-architected cloud model will address both current conditions and long-term business objectives.

Cloud architecture decisions made today will shape the future of an enterprise for years to come. As organizations manage their cloud journeys, finding the best way to architect their cloud environments is critical for success. When architected and implemented well, the potential benefits include mitigating risk, reducing costs, improving speed to market, and providing a strategic platform for growth. Organizations that are not strategic in their planning around cloud digital transformation risk losing out on efficiency, effectiveness, and return-on-investment gains.

 

Building Successful Cloud Architectures

Many factors need to be considered when building cloud architectures, including front-end platforms, back-end platforms, and delivery methodology. The list of important steps to be taken includes choosing a provider, evaluating contracts for resiliency and data portability, eliminating redundancy, generating service level agreements that allow for the use of dual providers, and designing provisions for data management, ownership, and transition.

Fundamental principles guide flexible and effective cloud architecture. A well-architected cloud should:

  • Be agile, scalable, and cost-efficient
  • Reduce interdependencies between systems, but maintain reliable interfaces
  • Offer automated and repeatable processes, configuration, and coding to manage operations
  • Recover quickly from failure
  • Introduce redundancy to reduce single points of failure
  • Be secure by design

 

Agility, Scalability, and Cost-Efficiency

For building scalable and reliable workloads, service-oriented architectures (SOAs) that reuse software components via service interfaces save resources and effort. Today, organizations increasingly take a microservices approach to cloud architecture, moving away from monolithic architectures and instead breaking down applications into smaller, more specific components. A microservices approach provides independent deployments and scaling, and allows changes to be made to one component without impacting others. Right-sizing cloud environments that support systems and applications can reduce costs. To do this, organizations must monitor deployments and examine performance metrics to identify inefficiencies or excess capacity. Performance metrics can influence decisions about how cloud services should be changed or selected. Organizations can also use the cloud to implement advanced and emerging technology, like NoSQL databases, quickly. Serverless architecture services eliminate traditional web servers and host code so organizations do not have to manage physical assets.

 

Reduced Interdependencies Between Systems

Loosely coupled systems increase agility and resilience by isolating components so one component’s reliability and performance does not impact others. When modifying components over time, isolated components do not cascade changes from one component to another. Many organizations are challenged to change legacy systems quickly without introducing too much risk. Cloud-based technology offers the opportunity to rethink design patterns to create efficiencies via loosely coupled systems and other architected strategies.

Creating asynchronous interactions between loosely coupled IT components can further improve resilience. When systems do not need immediate responses from each other, using a proxy to create and consume events rather than having components directly interact with each other is more efficient and effective. Message queue systems and streaming data platforms are examples of these types of tools.

 

Quick Recovery From Failure

Cloud environments that recover quickly from failure use distributed system design, have strong recovery plans in place, and adapt to changing requirements. Reliable cloud environments institute mechanisms to automatically monitor and repair workloads, test how workloads might fail, and validate recovery procedures. To minimize disruption if workloads fail, cloud architectures should scale horizontally, perform auto-scaling when demand exceeds capacity, and modify infrastructure through automation.

 

Automated Cloud Management

Cloud service providers offer tools and services that automate repeated functions such as maintaining version control, testing changes made, performing configuration management and patches, and managing build and deployment processes. Automating cloud management reduces effort and the risk of manual processing errors.

Other design principles that help organizations better manage cloud environments include structuring workloads so they can be modified easily and iteratively. Small changes made iteratively reduce risk, failure, and disruption. In addition, practicing operations as code allows organizations to update and manage infrastructure and workloads just like they would their applications. Scripting operations procedures helps automate execution, allowing operational monitoring to follow events as they occur and respond in real time to resolve issues.

 

Redundancy to Reduce Single Points of Failure

Organizations must design cloud environments to respond to potential failures without impacting workloads and services. Cloud workloads should be designed based on reliability requirements, and workloads requiring high reliability should have resiliency built in through architecture best practices.

When selecting availability zones or regions, location selection and design must ensure uninterrupted operations in the event of a failover. Some services, such as load balancing, auto scaling, and multi-region traffic routing, can assist with failover, and automated tools can perform remediation and resolution when failures occur. Organizations that create stateless services are better able to restart cloud environments when remediation is needed. There is a shift when performing restarts in the cloud, as entire resources should be replaced rather than fixed or troubleshot. Organizations need to provision enough capacity based on availability zones selected or designed. A good failover practice is building systems that are statically stable by provisioning enough instances in each zone to handle workloads if one zone goes down.

Data and system backup and restore also need to be architected based on an organization’s requirements. Defining disaster recovery (DR) strategy based on business requirements or service level agreements supports better architectures should a failure occur.

 

Security by Design

It is important for organizations to create cloud architectures that protect and control access to data and systems and can respond quickly to security events. Organizations must understand which security controls are their responsibility and how security responsibilities are shared with cloud service providers. Proper governance is critical to ensuring workloads are operated securely.

Organizations must implement a strong identity foundation by ensuring least privilege access to perform job functions and enforcing separation of duties with appropriate authorization for each interaction with cloud resources. Centralized identity management is an advantage.

Organizations should also have mechanisms in place that provide traceability of cloud workloads, such as monitoring, alerts, audit capabilities, and integration of log and metric collection with systems to automatically investigate and remediate. Many organizations use a defense-in-depth approach in the cloud, protecting data in transit and at rest like they would with on-premise security. Cloud service providers and other vendors offer automated security tools that enhance detection, investigation, and recovery in the cloud. Controls that are defined and managed as code are efficient, effective, and enhance scalability.

 

Priorities Drive Cloud Architecture

Federal government agencies need hybrid, multi-cloud environments that are flexible and broad enough to support various missions. Retailers must scale up rapidly for specific periods like Black Friday. Financial firms may require large increases in computing capacity for end-of-quarter reporting, while oil exploration companies may be content to use idle computing capacity at night to run analytics on seismic data.

Common industry-specific and firm-specific priorities that drive architecture considerations include:

  • How quickly can a solution adapt?
  • Is it modular?
  • Do advanced technologies like low code aid evolution, enable team developers, and reduce lock-in?
  • Can AI and machine learning generate intelligence?
  • Can intelligence identify and understand users?
  • Can intelligence be gathered in a non-intrusive way, and then analyzed and acted upon in
  • real time?

Project-specific considerations that impact the architecture and design of cloud solutions include:

  • What is the budget?
  • What is the desired timeframe?
  • Is existing technology cloud-ready or does it have to be replaced?
  • What resources are available (funding, staff, contract vehicles, etc.)?
  • What outside factors are at play (equipment leases, depreciation, regulatory requirements, legal requirements for data, etc.)?
  • What are the security and resiliency requirements (distance between backup sites, real-time mirroring, etc.)?
  • What is the preferred configuration (public vs. private or hybrid cloud; one cloud provider vs. multiple providers for different geographies or lines of business)?

 

An effective cloud strategy takes skillful planning, and architecture considerations should be an integral part of its development and execution. Each organization must determine its own journey to cloud transformation and strive to support the process immediately and in the longer term. Defining key priorities and understanding business drivers and needs are critical first steps, and architecture considerations should be based on these priorities.

The choices are daunting—from initial decisions around what aspects of cloud make sense for the organization to determining how to effectively manage organizational change, embrace cloud transformation, reduce disruption, and ensure optimal deployment. Successful transformation from on-premise infrastructure to cloud-based solutions requires expertise in solution architecture and cloud strategy, along with an understanding of the organization’s enterprise architecture standards and objectives.

To learn about Guidehouse’s capabilities and services in Cloud Strategy and Solution Architecture, please visit our IT Strategy Practice website.

insight_image

Robert McNamara, Partner


Let Us Guide You

Guidehouse is a global consultancy providing advisory, digital, and managed services to the commercial and public sectors. Purpose-built to serve the national security, financial services, healthcare, energy, and infrastructure industries, the firm collaborates with leaders to outwit complexity and achieve transformational changes that meaningfully shape the future.

Stay ahead of the curve with news, insights and updates from Guidehouse about issues relevant to your organization and its work.