Zephyr Cloud enhances and accelerates the software development lifecycle (SDLC).
Vague right?
Let's put the bubbly marketing keywords aside and talk about the real pain that exists between all of us while we develop applications and bring them to users.
Setting aside which cloud provider, bundler ro framework we are using for a second, the least sophisticated way to deploy an application is we log into a dashboard, import the repository from a Git Provider, click Deploy
and then we wait for ~2-30mins for it to build and deploy. Life as a developer doesn't have to be this WebAssembly.
Then comes the story of the blue whale, docker - we write a docker file (or whatever deployment configuration file your cloud provider prescribes), git push, and then we wait for the CI to build. The previous version became obsolete when the latest version came live. If we absolutely want multiple version, we need multiple docker files and deploy them multiple times.
Until the whale doesn't fit in our need for orchestration, consistency and global scaling. We then upgraded to the next as our deployment strategy advanced - Kubernetes, to enable the possibility of multi-cloud. Oftentimes, we opt for a blue/green deployment where two versions of the applications are waiting for one another to be ready. Yet still, no pods are supposed to live simultaneously.
Our team keeps growing, customer requirements are piling, we then started to add micro-services, micro-frontends, different languages, frameworks...
They are all great solutions until they aren't.
How are we supposed to trace which services is producing and consuming one another?
If service A is dependent on service B, service A is being used in production and my developer, who is 6 hours ahead of my timezone, pushes a broken version that brings production down? Or the configuration in service A no longer points to the correct location of service B after a rebuild?
Why does the application work locally but doesn't behave the same after it is built - I already tested it 10+ times?
With services coupling up, how are we supposed to manage the dependencies? Which one is shared and which one might affect upstream consumers?
As we start to split up frontend into different frameworks and different underlying bundlers, how are we supposed to keep things consistent?
......and the list continues.
What if we only need sub-seconds for deployment, rather than waiting for minutes or hours?
What if we don't need Kubernetes for instant rollback and forward?
What if instant rollback and forward only takes one click on a button?
What if all versions of our application we have ever deployed exist, active and live in the cloud? Not just all the /api/v2 route, but every version of /api/v2/me
and /api/v2/me/{id}
.
What if every service, regardless of whether it is providers, consumers, backend and frontend, can all be visualized, traced, monitored, orchestrated without configuration insanity?
What if deploying to different cloud providers is as simple as npm run build
?
What if deploying distributed applications only takes one line of code to configure?
What if we can "test in production" in a safe manner?
We have come a long way to make this happen. From module federation, medusa and now Zephyr - supporting many of the companies building technologies of tomorrow.
Zephyr Cloud is currently in public alpha stage. As you evaluate Zephyr Cloud please do not hesitate to reach out to us on Discord and provide your feedback.
We developed Zephyr Cloud in response to recurring questions from our clients about deploying federated applications and best practices for developing and deploying micro-frontends.
Zephyr represents our second attempt at addressing these challenges, following our initial platform, Medusa.
As we expanded Zephyr Cloud, we realized that it was enhancing productivity across all sites, not just in federated environments.
Zephyr helps to: speed up your software development lifecycle (e.g. local development, CI/CD, QA Testing, Deployment), increase collaboration and increase iteration speed.
You can use Zephyr to: