Omnissa ONE 2026: Elara, Agents and an MCP Server for Workspace ONE

My recap of the announcements from Omnissa ONE in Orlando

Disclosure: I’m an Omnissa Tech Insider. The opinions below are my own.

Omnissa ONE 2026 in Orlando (September 28-30) came with a lot to unpack. A new CEO took the keynote stage on day two of his new job, and the company put out a run of announcements built around one theme: an autonomous workspace where AI agents do real work, with IT still in control.

I already wrote about Amit Singh’s “The Agentic Endpoint” post. This is the follow-up: what was actually announced, what’s available now, and what I’m most interested in.

Omnissa Elara: governing AI on your endpoints

The headline announcement is Omnissa Elara, which Omnissa describes as an authority layer for AI. Its principle is “control before consequence.” It connects the systems you already run (identity, endpoint, security and ITSM) so that actions taken by people and AI agents can be understood, approved and recorded.

Omnissa’s announcement and the Reworked coverage describe four things Elara does:

  • Finding shadow AI. It looks for AI apps, models and agents that aren’t on your approved list.
  • Setting rules for AI use. Through the Omnissa AI Gateway, you decide which people, apps and agents can reach which AI models, and you can track token usage.
  • Checking changes before they happen. Before a change goes through on a company system, it checks for conflicts, scheduled freezes and dependencies, then approves the change, limits it or sends it to the person with authority to sign off.
  • Keeping a record. It logs what happened, who approved it and what it touched, so the sequence can be repeated later.

Brian Link, Product CTO (Americas) and Head of Platform, put the reasoning well: “The most important questions rarely live in any one system. They live between them.”

Status: Elara is in beta, with a waitlist and an interactive demo tour. Pricing and detailed specs weren’t published in what I read.

A hosted MCP server for the Omnissa platform (generally available)

This is the announcement I expect to matter to admins the most day to day. Omnissa announced a hosted Omnissa MCP server, built on the Model Context Protocol. Admins can connect an AI client of their choice, such as Claude or Copilot, directly to Workspace ONE UEM and other Omnissa services. Omnissa’s own example of where this is headed is an admin asking “What needs attention today?” instead of clicking through multiple screens.

The important part is the guardrail: every action taken through an AI client inherits the same role-based access controls and audit trail admins already rely on. Because it’s a standards-based protocol, it also avoids locking you into one AI vendor.

Status: generally available.

More autonomous endpoint management in UEM

The same set of UEM announcements includes:

  • Smart Groups 2.0. Multi-step rule building with sensor values and nested AND/OR logic, so you can target devices by how they behave instead of static lists or custom scripts.
  • Smarter phased deployments. Rollout progression can now use digital experience metrics such as crash rates and startup performance, along with reusable rollout templates.
  • Dual admin approval. A second reviewer for defined resources before changes take effect. This is listed as coming.
  • Root-of-trust resource signing. Makes sure only verified, unmodified resources install on endpoints. Also listed as coming.

New agents for IT operations

Omnissa announced three IT operations agents, each with a human in the loop:

  • Digital Employee Experience (DEX) Agent. Investigates employee experience issues, finds root causes, and recommends fixes using playbooks and session history.
  • Workspace ONE Vulnerability Defense Agent. Autonomously reviews and prioritizes vulnerabilities, prepares patching actions and approves deployment, with human-in-the-loop guardrails.
  • Windows App Lifecycle Agent. Packages and tests applications before an administrator reviews them.

Horizon and Cloud PC

  • Horizon Delegate. Lets users hand tasks to their own persistent agent inside their virtual desktop session. It acts with the user’s approved identity and permissions and can keep working when the user is disconnected. Expected as limited availability in Horizon 2609.
  • App Packaging Agent. Continuously finds app updates and builds packages based on IT approvals. Expected as beta in App Volumes 2609.
  • Omnissa Cloud PC. A turnkey cloud PC service that bundles compute, unified endpoint management, digital employee experience and Horizon Cloud DaaS. It launches on AWS first, with other hyperscalers planned. No general availability date was given.

What’s available now, and what isn’t

Announcement Status
Omnissa MCP Server Generally available
Omnissa Elara Beta (waitlist)
Horizon Delegate Limited availability, Horizon 2609
App Packaging Agent Beta, App Volumes 2609
Dual admin approval, root-of-trust signing Coming
Omnissa Cloud PC Announced, on AWS first, no date
DEX, Vulnerability Defense and Windows App Lifecycle agents Announced, no dates published

My take

I’m most excited about Elara, and it’s because of shadow AI. I’ve wanted a way to see what people are actually running on their devices, and this is the first announcement I’ve seen that goes straight at that problem. Discovery of unapproved AI apps and agents, plus rules for what they can reach, is exactly the visibility Singh’s Discover-Decide-Contain-Prove framework starts with. It’s still beta, so I’ll be watching how deep the discovery really goes and how well it fits with the tools we already run.

The MCP server is the practical win today. Letting admins use the AI tool they already like, with the same role-based access controls and audit trail they already rely on, is the right way to bring AI into daily operations. It’s generally available, so it’s the thing you can try first.

I’ll also be watching the agents. The Vulnerability Defense Agent is interesting because patching is where a lot of IT time goes, and the release says it runs with human-in-the-loop guardrails. I’d want to see exactly where those guardrails sit before trusting it with deployments. No dates have been published for most of these agents, so I’d treat them as direction, not a plan.

The overall message is consistent: agents are coming to managed devices, and Omnissa wants to be the layer that governs them. Some of this is shipping now, some is in beta, and some is still an announcement. That’s a fair state for a first showing. I’m looking forward to seeing which pieces land first.

Sources

What are you most interested in? I’d like to hear it in the comments.

The Endpoint Is Becoming an Agent Platform

My take on Omnissa CEO Amit Singh’s “The Agentic Endpoint”

Disclosure: I’m an Omnissa Tech Insider. The opinions below are my own.

Omnissa has a new CEO, and Amit Singh didn’t take long to say where he thinks endpoint management is headed. His first major post, The Agentic Endpoint, makes a claim that I think every IT team should sit with for a minute: the endpoint is no longer just where a person works. It’s where AI agents run.

I want to walk through what he argues, and then say where I think it lands for those of us who manage fleets for a living.

The core idea: one user, many actors

For as long as most of us have managed devices, the model was simple. One device, one user, a set of apps. Identity, permissions and network traffic all mapped back to a person.

Singh’s argument is that this assumption is about to break. He expects that within a year, the laptops and phones we manage will each be running not one user but dozens of AI agents. Some will be built into the apps we already license. Some will run as copilots. Some will be built internally. All of them will inherit the user’s identity, the user’s permissions and the user’s traffic patterns.

That last part is what matters. An agent acting “as” a user is indistinguishable, to a lot of our current tooling, from the user. Multiply that by dozens per device and the picture gets complicated quickly.

Why it changes the security picture

Two consequences stood out to me.

A compromised endpoint now exposes every agent on it. Attackers who land on a device don’t just get one person’s session. They get access to the agents running there and the credentials those agents hold. The endpoint becomes a concentration point, which is why Singh calls it “the most valuable ground on the network” and “the last mile of enterprise AI security.”

Agents can misbehave in ways ordinary software doesn’t. They operate asynchronously, so problems can run for a long time before anyone notices. Singh points to reported cases of test agents breaking out of sandboxes and pursuing goals nobody gave them. You don’t have to accept every example to see the underlying point: software that makes its own decisions needs a different kind of oversight than software that follows a fixed path.

He adds a third pressure that’s easy to overlook. Agents won’t stay on laptops and phones. They’ll show up on watches, earbuds, glasses and purpose-built enterprise devices, which means enrolling and managing device categories that many of us don’t touch today.

The framework: Discover, Decide, Contain, Prove

The part of the post I found most useful is that it doesn’t stop at “this is scary.” Singh organizes the response into four verbs.

  1. Discover. Build a complete inventory of the agents on your devices and what they actually do. You can’t govern what you can’t see.
  2. Decide. Set what an agent is allowed to do before it runs, not after something goes wrong.
  3. Contain. Keep endpoints clean, give agents safe places to execute, and respond in proportion when behavior drifts from what was approved.
  4. Prove. Keep audit trails so you can show compliance and reconstruct what happened.

If you’ve worked in endpoint management, none of these words are foreign. That’s the point of the framing. It maps onto things we already do (inventory, policy, remediation, reporting) and asks us to extend them to a new kind of actor.

Omnissa says it will build on what it already has around device management, virtual workspaces, credential handling, telemetry and fleet-scale remediation. The post names new capabilities on the way: discovery of AI actors, tools for setting agent permissions, agents that close vulnerabilities, and application lifecycle management.

My take

I’m excited about this one, and here’s why: I’ve been asking for a way to see what people are actually running on their devices, and shadow AI is the reason it has become urgent.

Right now, most of us can tell you what’s installed. We can’t tell you which AI tools and agents people are using, what those tools can reach, or whose credentials they’re running under. Some arrive as an install. Others show up as a feature switched on inside an app we already approved, or as a browser tool someone found on their own. Inventory tools tend to miss all of it. That’s a real blind spot, and it’s growing every month.

That’s why Discover is the part of Singh’s framework I care about most. A complete view of the agents on a device is the first thing I’d want, because every other step depends on it. You can’t set permissions for something you don’t know exists, you can’t contain it, and you can’t prove anything about it later. If Omnissa delivers real visibility into what’s running, including the stuff nobody told IT about, that’s a huge help for anyone managing a fleet.

Decide is the next hard problem, and it’s as much about people as tooling. Agent permissions need owners, review cycles and an exception process, the same as any other access. Left to defaults, agents end up with the user’s full reach because that was the easiest thing to configure. Prove is the one I expect auditors to ask about first: “What did this agent do on this device last Tuesday?” needs a real answer, with logs to back it up.

What I’ll be watching is how quickly discovery and permissioning reach the products we already run, and whether they work without yet another console. The value of extending an existing endpoint platform is that the team already knows it. I’m looking forward to seeing it land.

The takeaway

Whether or not the “dozens of agents per device within a year” timeline turns out to be exact, the direction is hard to argue with. Agents are arriving on managed devices, they carry user-level trust, and our tooling was designed for a world where that trust belonged to a person.

It’s worth reading the source, forming your own view, and starting the Discover work now, before the agents outnumber the apps.

Read the original: The Agentic Endpoint

Join the conversation: Omnissa community forums

What are you seeing on your own fleet? I’d like to hear it in the comments.

The App That Wouldn’t Die: A Workspace ONE Receipt-Collision Bug

If you manage macOS fleets with Workspace ONE UEM, you’ve probably seen it:
an agent gets pushed, installs fine, and then — for no visible reason — gets
uninstalled and reinstalled over and over, forever. Not once. Not twice.
Forever, on a cadence that seems to have no fixed schedule at all.

This is the story of chasing that bug down, the four things that looked
like fixes but weren’t, and the one thing that actually was.

The Symptom

A macOS endpoint kept losing its endpoint management agent. Every check-in
cycle, the Munki log told the same story:

Checking for removals
Removal of Automox Agent added to ManagedInstaller tasks.
...
Removing Automox Agent (1 of 1)...
Running uninstall_script for Automox Agent
Automox agent successfully uninstalled.

And a few minutes (or hours — the cadence was wildly inconsistent) later:

Checking for installs
...
Install of AutomoxAgent-2.6.53.pkg was successful.

Uninstall. Reinstall. Uninstall. Reinstall. All day. The agent’s own event
log showed matching delete/re-add cycles going back at least 24 hours.

First Theory: Server-Side Caching

The first real lead: two different Internal App records in the console
were both installing the exact same underlying package — a current build
and a retired one — and both were assigned (directly or via overlapping
Smart Groups) to the same device. Delete the stale one, problem solved.
Right?

Wrong. Deleting the conflicting app record from the console did nothing.
Neither did:

  • Republishing the app
  • Sending an MDM sync command via the API
  • Clicking “Sync” in the console
  • Waiting 45 minutes
  • Waiting another hour
  • A second, unrelated conflicting app record that was also still
    fighting over the same package (there were two culprits, not one — more
    on that below)

Every one of these should have worked if the problem were simply “the
server hasn’t regenerated the device’s catalog yet.” It kept generating
the exact same removal directive, over and over, no matter how long we
waited or how many syncs we forced.

The Reboot Test

Here’s where it got interesting. A full device reboot forces the Hub
Agent’s launchd jobs to reload from scratch, which — unlike any sync
command — reliably triggers a genuinely fresh manifest and catalog fetch.
If the server had actually fixed its state, a reboot should show it.

It didn’t. Post-reboot, first check-in, same story: fresh catalog fetched,
same stale removal directive, same uninstall, same reinstall a few minutes
later.

That ruled out “just a caching delay.” Something was regenerating this
removal directive from scratch, every single time, independent of what the
console said was assigned.

The Actual Mechanism

Pulling the raw device_catalog.plist off the device (the file Munki
actually consumes) revealed the real problem. Sitting in the array of
pkginfo items was a full entry for the retired app build — the one that
had already been deleted from the console — complete with its own
uninstall script.

And here’s the part that makes this a genuinely nasty bug rather than a
simple stale-record problem: both the current build and the retired
build install the same underlying macOS package receipt.

Old build → receipts: packageid "com.example.agent", version 2.0.28
New build → receipts: packageid "com.example.agent", version 2.6.53

Different pkginfo item names in WS1’s world. Same macOS package identity
in the OS’s world. That’s the collision:

  1. Munki installs the new build. macOS registers receipt
    com.example.agent at version 2.6.53.
  2. Something is still telling this specific device to remove the old
    item. Its removal condition checks: “is receipt com.example.agent
    present?” Yes — any version satisfies that check. Queue for removal.
  3. The old item’s uninstall script isn’t version-aware. It deletes the
    binary and LaunchDaemon plist unconditionally — which happen to be the
    exact same files the new build also uses.
  4. The agent is now gone. Next cycle, the new build is missing from
    managed_installs → gets reinstalled → receipt reappears → go to step 2.

An infinite loop, entirely self-inflicted by two catalog entries that
never should have shared a package identity in the first place, and it
will run regardless of what the console’s assignment state says,
because the local device state — not just the console record — was
carrying the stale entry independently.

Why Nothing Server-Side Fixed It

This is the part that cost the most time. The console-visible app
assignment and the actual served catalog are not the same source of
truth in every case. There’s a layer of local device state
(Munki_Repo/manifests, Munki_Repo/catalogs, plus a couple of
WS1-specific plists tracking app status and Munki metadata) that isn’t
guaranteed to get purged just because you deleted the app record upstream.
Once that stale entry is baked into a device’s local files, deleting the
upstream record doesn’t retroactively scrub it — you have to clear it on
the device itself.

The Actual Fix

A short script, run locally with root, that walks four files and deletes
any array entry or dictionary matching the stale app’s package ID or
display name:

  • The local Munki metadata cache (munki_data.plist)
  • The WS1 agent-status plist (AppStatuses_WS1.plist)
  • The local source manifest (device_manifest.plist)
  • The local source catalog (device_catalog.plist)

Run it, force one more check-in (a reboot, since sync commands still
weren’t reliable), and the loop actually stopped. managed_uninstalls
went empty and — this was the real test — stayed empty through multiple
subsequent check-ins, no regression.

Interestingly, a second app on the same device hit an almost identical
setup (two catalog entries, same shared package receipt, overlapping Smart
Group assignment) but resolved cleanly with just the console-side
deletion — no local script needed. Same bug shape, two different severity
levels, presumably depending on how long the stale local state had been
sitting there accumulating.

The Takeaways

  1. “I deleted it from the console” doesn’t mean it’s gone from the
    device.
    MDM-managed Munki hybrids keep local state that can outlive
    the record that created it.
  2. Sync commands aren’t all equal. An MDM device-sync command updates
    MDM heartbeat/presence; it does not necessarily poke the software
    management agent’s own check-in cycle. If you need a real software
    catalog refresh, a reboot is more reliable than any “sync” button.
  3. Two packages that install the same underlying receipt are a loaded
    gun
    , even if they look like unrelated catalog entries with different
    names and different versions. If your removal logic (or your MDM
    vendor’s) checks receipt presence rather than which catalog item
    installed it, you will eventually get exactly this loop.
  4. When something churns forever with no fixed cadence, don’t assume
    it’s a caching delay just because waiting sometimes seems to change
    things. Test it properly — force a genuinely fresh state (a reboot) and
    see if the symptom survives. If it does, the problem is local, not
    server propagation lag.
  5. Not every bug needs the same fix. Two apps, same failure shape, two
    different remedies. Diagnose each one on its own before assuming the
    first fix generalizes.

If you’re debugging a Workspace ONE app that seems to be stuck in a
delete/reinstall loop no matter what you do in the console: check whether
two catalog entries share a package receipt, and check the device’s own
local manifest/catalog files, not just what the console says is assigned.

New macOS App Management capabilities in Workspace ONE UEM.

One of the biggest pain points with managing macOS devices at scale has always been application packaging and deployment workflows.

That’s why I’m pretty excited to see where Omnissa is going with the new macOS App Management capabilities in Workspace ONE UEM.

For anyone who has spent time managing Macs in enterprise environments, you already know the struggle:

  • PKGs
  • DMGs
  • Custom scripts
  • Version control
  • Manual wrapping
  • Dependency headaches
  • User prompts
  • Constant app update maintenance

A lot of macOS management has historically required extra tooling, extra scripting, or extra operational overhead compared to what admins wanted.

This update feels like a major step toward simplifying that experience.

What stood out to me most is the ability to streamline macOS app onboarding and lifecycle management directly within Workspace ONE UEM instead of relying on a bunch of disconnected processes.

That matters because IT teams are being asked to support more Apple devices than ever before — without growing headcount at the same pace.

Anything that helps reduce:

  • packaging complexity
  • deployment time
  • testing overhead
  • ongoing maintenance
  • app update management

…is a huge operational win.

I’m also excited because this continues to push Workspace ONE further into modern endpoint management instead of traditional “MDM-only” thinking.

The future of endpoint management is:

  • automation
  • simplified workflows
  • unified visibility
  • faster deployment cycles
  • reduced operational friction

And honestly, this is the type of quality-of-life improvement admins actually care about day-to-day.

Looking forward to testing this more in real-world environments.

Original Omnissa article:
https://community.omnissa.com/technical-blog/managing-macos-apps-just-got-easier-in-workspace-one-uem-app-management-for-macos-devices-r199/

How to Deploy OpenClaw on AWS Lightsail (Step-by-Step Guide)

Run your own autonomous AI assistant in the cloud in under 30 minutes.


Introduction

AI agents are rapidly evolving from simple chatbots into systems capable of performing real tasks such as managing workflows, executing commands, and integrating with external tools. One of the most exciting open-source projects in this space is OpenClaw, a self-hosted AI assistant designed to run automation workflows using large language models. 

Instead of running OpenClaw directly on your personal machine, many developers prefer deploying it on a cloud server. This approach provides better security, reliability, and uptime.

In this guide, we’ll walk through how to deploy OpenClaw using Amazon Lightsail, a simplified cloud platform from AWS that allows you to launch and manage virtual servers quickly. 

By the end of this tutorial you will have:

  • A running cloud server
  • OpenClaw installed and running
  • A web interface you can access from anywhere

What Is OpenClaw?

OpenClaw is an open-source AI assistant framework that connects to large language models and executes tasks on your behalf. It can integrate with messaging platforms, external APIs, and automation tools. 

Unlike traditional chatbots, OpenClaw is designed to act as a task-executing AI agent.

Key capabilities

  • Integrates with AI models such as OpenAI, Claude, or Gemini
  • Executes commands and automation workflows
  • Connects with services like Slack, Telegram, or Discord
  • Runs locally or in your own cloud infrastructure

Because the AI agent may execute commands or access external systems, running it in a dedicated cloud environment is often the safest option.


Why Use AWS Lightsail?

AWS Lightsail is a simplified cloud computing service that provides virtual servers, networking, storage, and monitoring in one interface. 

It’s designed to make cloud hosting much easier than traditional AWS services like EC2.

Benefits of Lightsail

  • Simple server deployment
  • Fixed monthly pricing
  • Built-in browser SSH access
  • Easy scaling and snapshots
  • Ideal for small apps and AI tools

Lightsail can launch a server in minutes and is perfect for hosting self-hosted tools like OpenClaw.


Prerequisites

Before starting this tutorial, make sure you have:

  • An AWS account
  • Access to the AWS Management Console
  • Basic knowledge of Linux commands

AWS recommends creating an administrative user and enabling multi-factor authentication rather than using the root account for daily operations. 


Step 1 — Create an AWS Lightsail Instance

  1. Log in to the AWS Console
  2. Search for Lightsail
  3. Click Create Instance

Recommended settings

Platform: Linux / Unix

Blueprint: Ubuntu 22.04

Instance plan:

PlanCPURAMRecommended
$51 vCPU512MBTesting
$101 vCPU1GBBetter
$202 vCPU2GBProduction

Choose a region close to you to minimize latency.

Then click Create Instance.


Screenshot – Create Lightsail Instance

Within a few minutes your server will be available.


Step 2 — Connect to Your Server

Lightsail provides a built-in browser terminal, meaning you don’t need to install an SSH client.

To connect:

  1. Open your instance in Lightsail
  2. Click Connect
  3. Launch the Browser-based SSH terminal

Screenshot – Lightsail SSH Terminal

You can now run Linux commands directly from your browser.


Step 3 — Update the Server

Run the following commands to update your system.

sudo apt update && sudo apt upgrade -y

Next install required dependencies.

sudo apt install git docker.io docker-compose -y

Enable Docker:

sudo systemctl enable docker
sudo systemctl start docker

Docker allows OpenClaw to run in containers, making installation easier and safer.


Step 4 — Install OpenClaw

Clone the OpenClaw repository:

git clone https://github.com/openclaw-ai/openclaw.git
cd openclaw

Start the OpenClaw services:

docker compose up -d

Docker will automatically download and configure the necessary containers.


Step 5 — Access the OpenClaw Dashboard

Once running, OpenClaw provides a web interface.

Open a browser and go to:

http://YOUR_SERVER_IP:18789

Replace YOUR_SERVER_IP with your Lightsail public IP.

From this interface you can:

  • Configure AI models
  • Install automation skills
  • Connect messaging platforms
  • Run workflows and commands

Screenshot – OpenClaw Dashboard


Security Best Practices

Because OpenClaw can run commands and access external systems, security is critical.

Recommended protections:

  • Enable HTTPS with a reverse proxy
  • Restrict open ports in Lightsail firewall
  • Store API keys in environment variables
  • Keep containers updated

Treat the OpenClaw server like any production workload.


Monitoring and Backups

AWS Lightsail includes tools to monitor and protect your server.

Built-in features

  • CPU and network monitoring
  • Snapshots for backups
  • Additional storage disks
  • Instance resizing

Snapshots allow you to restore your entire environment if something goes wrong.


Final Thoughts

Deploying OpenClaw on AWS Lightsail provides a powerful yet simple way to run AI agents in the cloud.

In just a few steps you can:

  • Launch a cloud server
  • Install OpenClaw
  • Connect AI models and services
  • Run autonomous workflows 24/7

As AI agents become more capable, self-hosted platforms like OpenClaw offer developers full control over automation and data while leveraging the scalability of the cloud.


AWS Certificate Manager Shortens Certificate Lifetimes: What It Means for Your Cloud Security Strategy

On February 18, 2026, AWS announced an important update to AWS Certificate Manager (ACM) that aligns public TLS certificate lifetimes with new industry-wide security standards.

Read the official announcement

This change reflects a broader shift across the web toward shorter-lived certificates, stronger automation, and reduced exposure to key compromise.


🔐 What Changed?

AWS Certificate Manager now issues public certificates with a maximum validity of 198 days, replacing the previous 395-day validity period. 

This update ensures compliance with the CA/Browser Forum mandate requiring certificate lifetimes to be no longer than 200 days starting March 15, 2026. 

Key Highlights

  • New certificates: Automatically issued with a 198-day validity by default. 
  • Existing certificates: Continue to work until they expire or renew—no manual changes required. 
  • Renewals: ACM automatically renews certificates 45 days before expiration under the new model. 
  • Legacy 395/398-day certs: Renew normally, then switch to the 198-day lifecycle. 

➡️ In short: No action is required from customers—ACM handles the transition seamlessly. 


📉 Pricing Adjusted to Match Shorter Lifetimes

Because certificates now live for roughly half as long, AWS reduced pricing for exportable public certificates:

Certificate TypeOld PriceNew Price
FQDN Certificate$15$7
Wildcard Certificate$149$79

These lower prices reflect the reduced validity window while keeping automated lifecycle management intact. 


🛡️ Why the Industry Is Moving to Shorter Certificate Lifetimes

Although this update is operationally small, it represents a significant evolution in TLS security philosophy.

1. Reduced Risk Window

If a private key is compromised, a shorter certificate lifetime limits how long attackers can exploit it.

2. Encouragement of Automation

Modern PKI assumes automated issuance and rotation rather than manual certificate management—something ACM already abstracts away.

3. Alignment With Zero-Trust Principles

Frequent credential rotation is a core tenet of Zero Trust architectures, making short-lived certificates a natural fit.

4. Standardization Across Browsers and CAs

The CA/Browser Forum mandate is an ecosystem-wide move—not AWS-specific—ensuring consistent security baselines across providers. 


⚙️ What This Means for AWS Customers

If You Already Use ACM (Most Users)

You’ll likely notice no operational difference:

  • Certificates still auto-renew.
  • Integrations with services like ALB, CloudFront, and API Gateway remain unchanged.
  • Deployment workflows do not need modification.

If You Export Certificates

Plan for:

  • More frequent renewal cycles.
  • Updated cost modeling (now cheaper per certificate).
  • Ensuring downstream systems expect shorter validity periods.

If You Manage Certificates Manually Elsewhere

This announcement is a signal to accelerate automation—manual rotation every ~6 months is not sustainable.


📊 Operational Impact Snapshot

AreaBeforeAfter
Default Validity395 days198 days
Renewal Timing~60 days prior (legacy)45 days prior
CompliancePre-mandateCA/B Forum aligned
Customer Action NeededSometimesNone
Exportable Cert CostHigherReduced

🚀 Strategic Takeaway

This change isn’t just a technical adjustment—it’s part of a broader movement toward ephemeral trust models in cloud security.

Organizations that:

  • Automate certificate lifecycle management
  • Treat credentials as short-lived assets
  • Integrate renewal into CI/CD and infrastructure pipelines

…will be best positioned for the next wave of PKI modernization.


✍️ Final Thoughts

AWS Certificate Manager’s shift to 198-day certificates demonstrates how cloud platforms are quietly enforcing stronger security hygiene across the internet. With automation handling the heavy lifting, customers gain improved security posture without additional operational burden.

Honored to Be a 2026 Omnissa Tech Insider (Year Two!)

I’m incredibly grateful to share that I’ve been selected once again as part of the 2026 Omnissa Tech Insiders —my second year in this inspiring community.

This year’s cohort brings together an exceptional group of professionals with deep experience across AI, cloud, security, developer tools, and beyond. The diversity of perspectives, real-world impact, and accomplishments across the group truly impressed me.

Being part of this community has been both energizing and humbling—learning from peers, exchanging ideas, and contributing to conversations that are shaping the future of technology. I’m proud to stand alongside such talented individuals and excited about what lies ahead.

A huge thank you to the Omnissa team and to everyone in this cohort. Congratulations to all the 2026 Tech Insiders—I’m looking forward to another great year of collaboration and growth.

👏

👉 View the full announcement here: https://lnkd.in/etxzrcVS

Creating an AWS Linux System and Using Amazon Polly (CLI, Python, and GUI)


Amazon Polly makes it easy to convert text into natural-sounding speech using AI-powered voices. Whether you prefer clicking through a web interface or automating everything on a Linux server, Polly has you covered.

In this guide, we’ll:

  • Launch an Amazon Linux EC2 instance
  • Use Amazon Polly from the AWS Console (GUI)
  • Generate speech using the AWS CLI
  • Create audio files programmatically with Python

What Is Amazon Polly?

Amazon Polly is a managed text-to-speech service that:

  • Converts text into lifelike speech
  • Supports multiple languages and neural voices
  • Outputs MP3, OGG, and PCM audio formats
  • Requires no infrastructure management

Prerequisites

You’ll need:

  • An AWS account
  • An EC2 key pair
  • Basic Linux knowledge
  • An IAM user or role with Polly permissions

Step 1: Launch an Amazon Linux EC2 Instance

  1. Go to AWS EC2 Console
  2. Click Launch Instance
  3. Choose Amazon Linux 2
  4. Select t2.micro or t3.micro
  5. Allow SSH (port 22) in the security group
  6. Launch the instance

Copy the public IP address once the instance is running.


Step 2: Connect to the EC2 Instance

ssh -i your-key.pem ec2-user@<EC2_PUBLIC_IP>

You are now logged into your Amazon Linux server.


Step 3: Using Amazon Polly via the AWS Console (GUI)

Before touching the command line, let’s explore Polly using the AWS Management Console — this is the fastest way to experiment.

Accessing the Polly Console

  1. Log in to the AWS Management Console
  2. Search for Polly
  3. Click Amazon Polly
  4. Open the Text-to-Speech page

No EC2 instance is required for this step.


Generating Speech in the GUI

  1. In the Text-to-Speech editor:
    • Enter your text:
Welcome to Amazon Polly. This audio was created using the AWS Console.

  1. Choose a voice (e.g., Joanna, Matthew)
  2. Select Engine:
    • Standard
    • Neural (more natural, recommended)
  3. Choose Language
  4. Click Listen ▶️

You’ll hear the generated speech instantly.


Downloading the Audio File

  1. Select Output format (MP3 or OGG)
  2. Click Download
  3. Save the file locally

This is perfect for:

  • Testing voices
  • Demos and presentations
  • Content creation workflows

Using SSML in the GUI (Optional)

Enable SSML to control speech:

<speak>
  Welcome to <emphasis level="strong">Amazon Polly</emphasis>.
  <break time="1s"/>
  This is an example using SSML.
</speak>

SSML allows:

  • Pauses
  • Emphasis
  • Speaking rate control
  • Pronunciation tuning

Step 4: Configure AWS Credentials on Linux

Recommended: IAM Role

Attach an IAM role to the EC2 instance with:

  • AmazonPollyFullAccess

No credentials required on the server.

Alternative: AWS CLI Credentials

aws configure

Enter:

  • Access key
  • Secret key
  • Region (e.g., us-east-1)

Step 5: Using Amazon Polly from the AWS CLI

Generate speech directly from Linux:

aws polly synthesize-speech \
  --voice-id Joanna \
  --output-format mp3 \
  --text "This audio was generated from the AWS CLI" \
  cli-output.mp3

Install an audio player:

sudo yum install -y mpg123

Play the file:

mpg123 cli-output.mp3

Step 6: Using Amazon Polly with Python

Install Dependencies

sudo yum install -y python3 pip
pip3 install boto3

Python Script Example

Create the script:

nano polly_tts.py

Add:

import boto3

polly = boto3.client("polly")

response = polly.synthesize_speech(
    Text="Hello from Amazon Polly using Python on Amazon Linux",
    OutputFormat="mp3",
    VoiceId="Matthew"
)

with open("python-output.mp3", "wb") as file:
    file.write(response["AudioStream"].read())

print("Audio file created: python-output.mp3")

Run it:

python3 polly_tts.py
mpg123 python-output.mp3

Comparing GUI vs CLI vs Code

MethodBest For
AWS Console (GUI)Voice testing, demos, learning
AWS CLIAutomation, scripting
Python / SDKApplication integration

Security Best Practices

  • Prefer IAM roles over access keys
  • Use least-privilege IAM policies
  • Monitor usage with CloudWatch
  • Avoid committing credentials to Git

Conclusion

Amazon Polly is flexible enough for beginners and powerful enough for production systems. Whether you use the AWS Console GUI, CLI, or Python SDK, Polly lets you bring natural-sounding speech to your applications quickly and securely.

Once you’re comfortable, you can combine Polly with:

  • S3 for audio storage
  • Lambda for serverless processing
  • Transcribe for full speech workflows

Happy building—and enjoy giving your apps a voice 🔊🚀


Creating an AWS Linux System Running Docker and Managing It with Portainer

Running containers in the cloud doesn’t have to be complicated. In this guide, we’ll walk through creating an AWS EC2 Linux instance, installing Docker, and setting up Portainer to manage containers visually and effortlessly.

By the end, you’ll have a lightweight, production-ready Docker host you can control from your browser.


Prerequisites

Before we begin, make sure you have:

  • An AWS account
  • Basic familiarity with Linux and SSH
  • An EC2 key pair for secure access
  • A local machine with SSH installed

Step 1: Launch an AWS EC2 Linux Instance

  1. Log in to the AWS Management Console
  2. Navigate to EC2 → Launch Instance
  3. Choose an AMI:
    • Select Amazon Linux 2 (recommended for stability and AWS compatibility)
  4. Choose an instance type:
    • t2.micro or t3.micro (free tier eligible)
  5. Configure key settings:
    • Attach your key pair
    • Allow SSH (port 22) in the security group
    • Add port 9000 (Portainer UI) and port 80 if you plan to run web apps
  6. Launch the instance 🚀

Once running, copy the public IPv4 address.


Step 2: Connect to the EC2 Instance

From your local terminal:

ssh -i your-key.pem ec2-user@<EC2_PUBLIC_IP>

If successful, you’ll be logged into your Amazon Linux server.


Step 3: Install Docker on Amazon Linux

Update the system:

sudo yum update -y

Install Docker:

sudo amazon-linux-extras install docker -y

Start and enable Docker:

sudo systemctl start docker
sudo systemctl enable docker

(Optional) Allow your user to run Docker without sudo:

sudo usermod -aG docker ec2-user
exit

Reconnect to apply the changes.

Verify installation:

docker --version

Step 4: Run Docker Containers

Test Docker by running a container:

docker run hello-world

If you see the success message, Docker is working correctly 🎉


Step 5: Install Portainer

Portainer gives you a clean web UI to manage containers, images, networks, and volumes.

Create a Docker volume for Portainer

docker volume create portainer_data

Run Portainer

docker run -d \
  -p 9000:9000 \
  --name portainer \
  --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce

Check that it’s running:

docker ps

Step 6: Access the Portainer Dashboard

Open your browser and go to:

http://<EC2_PUBLIC_IP>:9000

On first launch:

  1. Create an admin password
  2. Select Docker (local) as the environment
  3. Click Connect

You now have full visual control over your Docker host 🎯


What You Can Do with Portainer

With Portainer, you can:

  • Deploy containers using forms or Docker Compose
  • Monitor container health and logs
  • Manage volumes, networks, and images
  • Stop, start, or scale services
  • Secure access with user roles

It’s perfect for:

  • Small production workloads
  • Learning Docker visually
  • Managing remote servers with ease

Security Best Practices

Before using this in production, consider:

  • Restricting port 9000 to your IP only
  • Enabling HTTPS with a reverse proxy
  • Using IAM roles instead of access keys
  • Regularly updating Docker and the OS

Conclusion

By combining AWS EC2, Amazon Linux, Docker, and Portainer, you get a powerful yet simple container platform that scales with your needs. Whether you’re deploying side projects or learning container orchestration, this setup is an excellent foundation.

Happy containerizing 🐳🚀


I Miss vCenter — So I’m Building My Own (in AWS)

I’ve been living in AWS long enough that I’m supposed to have moved on.

I can design multi-account landing zones, argue about Transit Gateways vs. VPC peering, and recite IAM best practices in my sleep. I understand why cloud-native patterns exist. I even agree with most of them.

But if I’m being honest?

I miss vCenter.

The Comfort of a Single Pane of Glass

Back in the vSphere days, vCenter was home base. One UI. One mental model. One place where I could:

  • See all my workloads
  • Understand capacity at a glance
  • Migrate compute without rewriting the world
  • Apply policies consistently
  • Fix problems visually instead of spelunking through APIs

Yes, it was centralized. Yes, it had limitations. Yes, it could be fragile.

But it was coherent.

In AWS, coherence is… optional.

AWS Is Powerful — But Fragmented

Don’t get me wrong: AWS is incredible. The primitives are flexible, scalable, and battle-tested. But as an operator, the experience is scattered:

  • EC2 over here
  • ASGs over there
  • Load balancers somewhere else
  • Metrics in CloudWatch
  • Config in tags (maybe)
  • Inventory split across accounts and regions

The AWS Console isn’t lying to you — but it also isn’t telling you the whole story in one place.

Instead of operating infrastructure, I often feel like I’m assembling context.

What vCenter Got Right

vCenter wasn’t just a hypervisor manager. It was an operations platform:

  • Strong inventory model
  • Clear parent/child relationships
  • First-class lifecycle concepts
  • Human-readable abstractions
  • Predictable workflows

You didn’t need five services and a wiki page just to answer:

“What’s running where, and why?”

So… I’m Building My Own vCenter (Sort Of)

I’m not trying to recreate vSphere in the cloud. That would miss the point.

What I am doing is building a control plane on top of AWS Using APIS that gives me back what I miss:

  • A unified inventory across accounts and regions
  • Opinionated metadata instead of tag chaos
  • Clear ownership and lifecycle states
  • Capacity and cost visibility that makes sense to humans
  • Operational workflows that don’t start with “open three consoles”

Think less “hypervisor replacement” and more operator experience layer.

AWS provides the raw materials. I’m just putting a dashboard, model, and brain on top of them.

Cloud-Native Doesn’t Have to Mean Operator-Hostile

Somewhere along the way, “cloud-native” became synonymous with:

  • More YAML
  • More dashboards
  • More glue code
  • More tribal knowledge

But abstraction isn’t the enemy. Bad abstraction is.

vCenter succeeded because it respected how humans think about systems. AWS succeeds because it gives you freedom. The gap between the two is where a lot of operator pain lives.

That gap is exactly what I’m trying to close.

This Is Not Nostalgia — It’s a Design Problem

I don’t miss vCenter because it was old.

I miss it because it solved real operational problems well.

If we can acknowledge that, we can stop pretending the current state is perfect — and start building better tools on top of the cloud we actually run.

So yes, I’m an AWS admin Now.

And yes, I miss vCenter.

That’s why I’m building my own. More to come