Cloud Tech by Victor

Search

30 results for “vnet

Search results

Azure Networking

What is an Azure Virtual Network (VNet) and how does it relate to subnets?

A VNet is an isolated network within Azure, scoped to a subscription and region, defined by an address space (a CIDR block). Subnets divide that address space into smaller segments, and every resource with networking (a VM, an App Service with VNet integration) is deployed into a specific subnet, not directly into the VNet itself. Subnets are also where Network Security Groups and route tables actually attach, so subnet design is where most Azure network segmentation decisions get made.

Azure Networking

What is the difference between VNet peering and a VPN gateway?

VNet peering connects two VNets directly over Microsoft's backbone network, low latency, high bandwidth, no gateway required, but both VNets need non-overlapping address spaces and peering doesn't transit by default (VNet A peered to B, and B peered to C, doesn't mean A can reach C without its own peering). A VPN gateway creates an encrypted tunnel, typically used to connect an on-premises network to Azure, or between Azure and another cloud, over the public internet rather than Azure's internal backbone. Peering is for Azure-to-Azure connectivity at the best possible performance; a VPN gateway is for connecting to networks outside Azure, or when encryption over the transport itself is a specific requirement.

Blog

Terraform Azure Tutorial: How to Create Resource Groups, VNets, Subnets, NSGs, and VMs Step‑by‑Step IaC

Terraform on Azure: Building a Real-World Infrastructure from Scratch.

Blog

Azure Networking with PowerShell: VNet Design, Peering, VM Provisioning & Network Watcher (Beginner to Pro)

A hands-on lab deploying VNets, peering them securely, provisioning Windows Server VMs, and validating connectivity with Network Watcher.

Blog

Setting Up Clean Azure VNets, Subnets & Tagging

A Practical Lab Guide from Beginner to Pro.

DevOps

Azure Networking

How Virtual Networks, subnets, and Network Security Groups control traffic in Azure, and how VNet peering differs from a VPN gateway for connecting networks together.

Azure Networking

How does a Network Security Group (NSG) evaluate traffic rules?

An NSG contains a prioritized list of allow/deny rules, evaluated in priority order (lowest number first) until the first rule matching the traffic's source, destination, port, and protocol is found, that rule's action wins, and no further rules are evaluated. NSGs can attach to a subnet, a network interface, or both, and are stateful, meaning an allowed inbound connection's return traffic is automatically permitted without needing a matching outbound rule. Because evaluation stops at first match, rule priority ordering is the actual logic, a broad allow rule placed before a specific deny rule silently makes that deny unreachable.

Blog

Securing Azure Blob Storage with PowerShell: Network Isolation, SAS Access & Immutable Policies (Beginner to Pro)

A hands-on lab automating secure Azure Blob Storage using VNets, subnets, SAS tokens, and immutability.

Blog

Automating Azure Infrastructure with Bicep: A Hands-On IaC Lab Using VS Code

Deploying VNets, VMs, IAM, Policies, Monitoring, and Governance using Infrastructure as Code.

Blog

How To Configure Virtual Network Peering in Azure

In modern Azure environments, it is common to deploy resources across multiple virtual networks (VNets). These networks may be separated for reasons such as security boundaries, environment isolation (production, staging, development), regional placement, or organizational structure. However, while…

DevOps

AWS VPC Networking

How Amazon VPC, subnets, security groups, and network ACLs control traffic in AWS, and why security groups (stateful, instance-level) and network ACLs (stateless, subnet-level) are not interchangeable.

Consistent Hashing

How does consistent hashing (a ring hash) avoid that near-total remapping problem?

Instead of computing `hash(key) % N`, both hosts and keys are hashed onto positions on a fixed conceptual ring (typically the hash function's full output range), and each key is assigned to the next host found by walking clockwise from the key's position. Removing a host only affects the keys that were mapped to that specific host's section of the ring, they get reassigned to the next host further along, while every other key on the ring, owned by a different host's section entirely, is completely unaffected. For a ring hash across N hosts, adding or removing one host affects only about 1/N of the total keys, not nearly all of them.

Blog

Mastering Nano, Vim & NeoVim on Linux: From Beginner Editing to Pro-Level Terminal Workflows

Nano vs Vim vs Neovim: Which Linux Text Editor Should Engineers Actually Use?

Bash Fundamentals

Why should variables almost always be quoted, e.g. `"$name"` instead of `$name`?

An unquoted variable expansion undergoes word-splitting (on whitespace) and globbing (on `*`, `?`, etc.) before the command sees it, so a value containing a space or a shell metacharacter silently becomes multiple arguments or an unintended file-glob expansion instead of one literal string. Quoting (`"$name"`) suppresses both, so the variable's value is always passed through as exactly one argument, which is why nearly every Bash style guide treats an unquoted variable expansion as a latent bug rather than a style preference.

Binary Search

For a sorted list [1, 2, 2, 2, 3], what index does bisect_left(2) return versus bisect_right(2), and why are they different?

`bisect_left` returns 1, the insertion point before every existing 2, so inserting there keeps all 2s together immediately after it. `bisect_right` returns 4, the insertion point after every existing 2, keeping all 2s together immediately before it. They differ because they define the insertion point by a different partition rule, `bisect_left` guarantees everything before the returned index is strictly less than the target, `bisect_right` guarantees everything before the returned index is less than or equal to it, so the choice determines whether a new equal-valued element gets inserted before or after existing equal elements, not just where "some 2" is found.

Database Connection Pooling

Why would you choose session pooling over transaction pooling even though it scales to fewer concurrent clients per server connection?

Session pooling is the only mode of the two that supports every PostgreSQL feature without exception, prepared statements, session variables set via SET, LISTEN/NOTIFY, session-level advisory locks, because the server connection genuinely stays with the client for as long as their session lasts. If an application depends on any of those session-level features and can't be refactored around them, session pooling is the correct choice despite its lower connection-reuse efficiency, trading raw scalability for full feature compatibility rather than working around broken session state.

Embeddings & Vector Search

When does semantic search (via embeddings) actually outperform traditional keyword search, and when might keyword search still win?

Semantic search wins when a query and the relevant document use different words for the same idea, "car won't start" matching a document about "vehicle fails to ignite", since embeddings compare meaning rather than literal tokens, which keyword search cannot do at all. Keyword search still wins, or at least remains necessary, for exact-match needs, an error code, a product SKU, a specific proper noun, where the literal string matters and a semantically "close" but textually different result is actually the wrong answer. This is why production search systems commonly combine both (hybrid search) rather than treating embeddings as a strict replacement for keyword matching.

Linux Logging & Monitoring with journald

What is the difference between journald's "volatile", "persistent", and "auto" storage modes, and which one is the default?

"Volatile" keeps the journal only in `/run/log/journal`, which is memory-backed and wiped on every reboot, nothing survives a restart. "Persistent" writes to `/var/log/journal` on disk, so entries survive reboots (falling back to volatile only during very early boot or if the disk is unavailable). "Auto" is the actual default, and it behaves like "persistent" only if `/var/log/journal` already exists, otherwise it behaves like "volatile", so whether logs survive a reboot on a given system depends entirely on whether that directory happens to have been created, not on any setting an administrator consciously chose.

Python Web Frameworks Overview

What does FastAPI provide that Flask does not, and what's the trade-off?

FastAPI is async-first (built on ASGI, not WSGI) and uses Python type hints to automatically generate request validation, serialization, and interactive OpenAPI documentation, a type-annotated function signature becomes both the API contract and its enforcement, with no separate schema to maintain by hand. The trade-off is that FastAPI assumes an async-first mental model and a type-hint-driven style throughout, which is a bigger shift for a team used to Flask's simpler, synchronous, un-opinionated style, and FastAPI has a smaller, younger ecosystem of plugins/extensions compared to Flask or Django's much longer history.

Secrets Management

Why is committing a secret to version control worse than a normal security mistake to fix?

Deleting the file or even force-pushing over the commit doesn't remove the secret's exposure, the value lives on in the repository's commit history, in any fork or local clone already made, and often in CI logs that referenced it. The only real fix is treating the secret as permanently compromised: revoke and rotate it at the source (the database, the cloud provider, the API), then clean up history as a secondary, defense-in-depth step, not the actual remediation. This is why prevention (pre-commit scanning, never typing a real secret into a tracked file) matters far more for secrets than for most other classes of bugs.

Linux Networking

A socket shows up in the LISTEN state versus ESTABLISHED. What is actually different about what that socket is doing?

LISTEN means a server-side socket is bound to a port and passively waiting to accept incoming connection requests, it isn't attached to any specific remote peer yet. ESTABLISHED means a full connection has completed its handshake and is actively associated with a specific remote address and port, data can flow in both directions. Seeing a service you expect to be running not show a LISTEN socket on its expected port is usually the very first, most direct signal that the service isn't actually up or isn't bound where you think it is.

AWS VPC Networking

What is the difference between a public and a private subnet in a VPC?

The difference is entirely about the subnet's route table, not any property of the subnet itself: a public subnet has a route to an internet gateway for `0.0.0.0/0`, so resources with a public IP in it can reach and be reached from the internet directly. A private subnet has no such route, so its resources typically use a NAT gateway (in a public subnet) for outbound-only internet access, or no internet path at all. Both subnet types can otherwise have identical security group and NACL configuration; "public" and "private" describe reachability via routing, not a separate networking feature.

Backend

Python Virtual Environments & Packaging

Why every Python project needs an isolated environment, what a lockfile actually pins down that a requirements list doesn't, and how to avoid the global-install dependency trap.

AWS CloudWatch & CloudTrail

What is the difference between CloudTrail management events and data events, and why does it matter?

Management events record control-plane operations, creating a role, launching an instance, changing a security group, and every CloudTrail trail logs these by default. Data events record data-plane operations on the resources themselves, an individual S3 GetObject or Lambda Invoke call, and are not logged by default; they have to be explicitly enabled per resource and typically cost extra given their much higher volume. This matters because an investigation into "who read this specific S3 object" will come up completely empty if only the default management events were ever being logged, a genuinely common gap discovered only during an actual incident.

AWS Organizations & Account Structure

What is a Service Control Policy (SCP), and what is the one thing it does not do?

An SCP is a policy attached to an AWS Organizations root, organizational unit, or member account that defines the maximum available permissions for every identity in that account, including that account's own administrators and its root user. What an SCP does not do is grant any permission by itself, it only sets a ceiling; an identity still needs an actual IAM allow (from an identity-based or resource-based policy) within that ceiling to do anything. An SCP with no matching IAM allow underneath it results in access denied, not access granted, which is the most common misunderstanding of how SCPs work. One exception worth knowing: SCPs never apply to the organization's management account itself, only to member accounts.

AWS VPC Networking

If VPC A is peered with VPC B, and VPC B is peered with VPC C, can A reach C through B?

No. AWS VPC peering connections are explicitly non-transitive: a peering connection is a strict one-to-one relationship between exactly two VPCs, and you cannot use one VPC as a transit point for another peering connection it happens to also have. To let A reach C, a separate, direct peering connection between A and C has to be created; there is no way to route through B. A Transit Gateway, not a mesh of peering connections, is the AWS-recommended way to connect more than a couple of VPCs that all need to reach each other.

Azure Compute

What is an Azure VM Scale Set, and how does it differ from manually managing a group of VMs?

A VM Scale Set manages a group of identical, load-balanced VMs as a single logical unit, with built-in autoscaling based on metrics (CPU, custom metrics) and automated instance replacement on failure. Manually managing individual VMs means each scaling or patching action has to be repeated per instance, with no built-in mechanism to keep the fleet at a consistent size or to react automatically to load. Scale Sets are the IaaS-level building block that makes "run N identical VMs that scale with load" a supported, declarative configuration instead of a hand-rolled script.

Azure Compute

What does AKS (Azure Kubernetes Service) manage for you compared to running Kubernetes yourself on VMs?

AKS manages the Kubernetes control plane (API server, etcd, scheduler) at no direct cost for the control plane itself; you only pay for the worker nodes, which still run as VMs you have some visibility into but don't have to manually install or upgrade Kubernetes onto. Running Kubernetes yourself on plain VMs means standing up and maintaining the entire control plane, including its high availability and upgrade process, which is a substantial and ongoing operational burden. AKS trades some control-plane visibility for removing that burden, which is why it's the default choice for running Kubernetes on Azure unless there's a specific reason to self-manage.

Azure Fundamentals

How do management groups extend governance above the subscription level?

Management groups let an organization apply policies (via Azure Policy) and role assignments (via Azure RBAC) across multiple subscriptions at once, instead of configuring each subscription independently. They form a hierarchy above subscriptions, a root management group can contain child management groups (e.g., by department or environment type), each containing multiple subscriptions, so a single policy assignment at the right level of that hierarchy can enforce a rule (like "no public IP addresses" or "must use approved regions") across every subscription beneath it.

Browser Rendering Pipeline

What are the five stages of the browser rendering pipeline, and which ones does a change to a property like width actually have to go through?

The pipeline runs JavaScript, Style calculation, Layout, Paint, and Composite, in that order. Changing a property that affects geometry, `width`, `height`, `position`, forces the browser through every stage: layout has to be recalculated (since the element's size or position changed), then paint (since pixels changed), then composite. That full path is why layout-affecting properties are the most expensive to animate, every frame re-runs the whole pipeline, not just a cheap final step.

Search results for “vnet” | Cloud Tech by Victor