10 min read

Implementing Real Time Cloud Mapping

By Team Hava on June 5, 2024

 

Most developers and engineers working with cloud infrastructure will agree that a well laid out network topology diagram (cloud map) is an essential tool when either communicating how the architecture is built, or for use when tracking down the reason for an application outage or performance dip.

Topics: aws azure gcp cloud mapping
5 min read

Amazon AWS Cloud Map vs Hava Cloud Mapping

By Team Hava on February 15, 2024

When you want to map out your AWS cloud architecture you might go searching for things like AWS topology map, AWS architecture diagram, or AWS cloud map.

While AWS topology map and architecture diagram suggests you are looking for the type of diagram Hava will auto generate for you to show you all your running AWS resources, AWS Cloud Map is a very different thing which can get easily confused as a diagramming tool.

What are the differences between AWS Cloud Map and Hava cloud architecture mapping?

AWS Cloud Map: Simplifying Service Discovery in the Cloud

AWS Cloud Map is a fully managed service that simplifies the process of service discovery within your cloud infrastructure. Whether you’re dealing with microservices, containers, or other dynamic resources, AWS Cloud Map provides an elegant solution for locating and managing these services. 

What Is AWS Cloud Map?

At its core, AWS Cloud Map allows you to create and maintain a map of backend services and resources that your applications depend on. Let’s break down its key features:

  1. Namespaces: You start by creating a namespace, which acts as a friendly identifier for your resources. Think of it as a label that helps you organize and locate services. A namespace can represent an entire application or a specific set of related services.

  2. Services: Within a namespace, you define services. Each service corresponds to a type of resource (e.g., web servers, database servers, APIs). Services act as templates, providing the necessary information for locating endpoints associated with those resources.

  3. Resource Registration: When your application adds a new resource (such as spinning up a new container or launching an EC2 instance), it registers that resource with AWS Cloud Map. This registration includes details on how to locate the resource, whether through DNS queries or API calls.

  4. Dynamic Updates: As resources come and go (due to scaling, updates, or failures), AWS Cloud Map dynamically updates its map. This ensures that your application always has an accurate view of available services.

How Does AWS Cloud Map Work?

  1. Namespace Creation: You create a namespace, specifying the name you want to use for locating resources. Additionally, you choose the method of resource location:

    • DNS Queries in a VPC: If you prefer DNS-based discovery within a Virtual Private Cloud (VPC).
    • Public DNS Queries: For resources accessible over the internet.
    • AWS Cloud Map DiscoverInstances API Calls: For programmatic discovery.
  2. Service Definition: For each resource type (e.g., web servers, databases), you create a service. This service template includes information about the DNS records to use for locating instances. You can also configure health checks to ensure only healthy instances are returned.

  3. Resource Registration: When a new resource comes online, your application calls the RegisterInstance API. This creates a service instance, containing details on how to locate the resource.

  4. Service Discovery: When your application needs to connect to a resource, it calls the DiscoverInstances API, specifying the namespace and service. AWS Cloud Map returns information on how to locate one or more healthy instances.

Use Cases for AWS Cloud Map

  1. Microservices Architecture: In a microservices environment, services come and go dynamically. AWS Cloud Map ensures that each microservice registers itself and provides an up-to-date view of available services.

  2. Container Orchestration: When using Amazon ECS or Amazon EKS, AWS Cloud Map integrates seamlessly. As containers spin up or down, they automatically register and deregister with the service map.

  3. Multi-Region Deployments: For applications deployed across multiple regions, AWS Cloud Map simplifies cross-region service discovery.

  4. Custom DNS Names: You can define custom DNS names for your services, making them easier to remember and reference.

  5. Filtering with Attributes: Specify attribute values for service instances (e.g., deployment stage, environment). Clients can use these attributes to filter resources.

  6. Hybrid Architectures: AWS Cloud Map works not only with AWS resources but also with on-premises resources, providing a unified service discovery experience.

AWS Cloud Map is a powerful tool for managing service discovery in dynamic cloud environments. By creating a clear map of your backend services, you simplify resource location and enhance the reliability of your applications. Whether you’re building microservices, deploying containers, or orchestrating complex architectures, AWS Cloud Map is a valuable addition to your toolkit.

 

Hava.io is an automated cloud diagramming tool designed to simplify the discovery and documentation of cloud environments.

Here are the key points about Hava:

  1. Automated Cloud Diagrams: Hava generates interactive cloud diagrams within minutes from multiple cloud vendors (such as AWS, Azure, and GCP). These diagrams map out your cloud architecture, providing a visual representation of your infrastructure, security layers, and containers.

  2. Multiple Vendor Support: Connect your cloud accounts (AWS, GCP, and Azure) to Hava. It imports your environments and creates logically laid-out diagrams grouped by VPCs or resource zones. You can easily spot anomalies, review cost forecasts, and export diagrams for management, audit, and compliance purposes.

  3. Resource Details: Selecting each resource on the diagram reveals attributes like security groups, connections, subnets, and ingress/egress IPs. This helps you quickly identify vulnerabilities and understand resource configurations.

  4. Versioning and Change Tracking: Hava continuously polls your cloud configuration. When changes occur, diagrams are updated, and previous versions are archived. You can compare and view historical environment configurations.

  5. Efficiency and Integration: Hava streamlines operations with rapid onboarding, real-time visualization, and fast vulnerability identification. It also offers an API for integration into your build pipeline.

  6. Embed Diagrams Anywhere: Hava provides an embeddable diagram viewer, allowing you to place diagrams externally via an iFrame code snippet without requiring login. There are also native integrations with Confluence, Github and a fully featured API and CLI allowing you to programatically control the addition, generation and updating of your cloud architecture diagrams.

  7. Architecture Change Alerts: When changes are detected, you can configure Hava alerts to send an email to specified recipients which describes the change and provides a revision comparison diagram. Different environments can have different recipients so they know the minute something changes in the architecture they are responsible for.

 

You can learn more about Hava, how it works and what diagrams are produced here:

 
Topics: aws Documentation DevOps cloud mapping

Featured