Thursday, July 18, 2019

Cloud Assembly - Placement Engine

Last time we met I was talking about the basics of Cloud Assembly and how you can create your cloud-agnostic offer (blueprint) leveraging not more than a YAML descriptive definition.

But there was still a missing point, how do you handle the placement of your workloads?

Now that your multi-cloud strategy evolves multiple clouds, private, hybrid, public, whatever comes next… you need a way to make decisions about the workload placement.

Cloud Assembly handles this through the use of “constraints”.
Constraints are no more than identifiable capabilities of your resources.

Think about a business decision that every development should occur on the public cloud, but when the times to run it in production comes, it must run on-premise.
That’s exactly what you can see on my example, I’m using AWS as my Dev environment and my on-premise vSphere for Production;
AWS environment tag as env:dev

vCentert environment tag as env:prod

But it’s not all, you can use constraints on several places like on datastores, to identify which one is SSD or have replication enable. On networks, you can tell which one is internet-facing or even a backend network.

So, when you provision a new deployment, Cloud Assembly will try to match the constraints on your blueprint to the resources you have available, that’s how it decides when to place your workload.
If no endpoint can fulfill your constraints than the deployment will fail.

With all this information flying around, it seems that the placement decision is to be left to chance, in fact, it's not, Cloud Assembly makes it easy to test your business logic behind the decisions.

Go to Cloud Zones and hit Test Configuration;

Fill the machine details and the constraints and hit Simulate;

Soon you will see the decision tree, the graph walks you through the checking until it finds it’s home.
Pretty Nice !!!!

Now it comes to the final question, how do I add constraints to my blueprints?

That’s the easiest part, just add a constraint section to your blueprint and tag it to the desired capability.

My example is a bad one, because it makes the offer static to my dev environment and it was intentional.
It’s a challenge for you guys, go back to my The basics post and try to add an input for the destination so users can select the desired destination during provisioning time ; )

Thursday, July 11, 2019

Cloud Assembly – The Basics

Cloud Assembly is the fundamental stone of the Cloud Automation Services, CAS, based on a declarative infrastructure as code model you specify the applications and services you are willing to provide for end-users consumption, called Blueprint.
If you are used to vRealize Automation (vRA), you will see a remarkable resemblance between them.
Based on the same canvas concept as vRA, you can drag objects like, machines, networks, volumes, load balancers, etc… to form the desired state of your service.

But along with the drag and drop functionality, Cloud Assembly has evolved to be more developer-friendly, allowing you to declare your desired state on a YAML format, just like any good infrastructure as code tool.
As you are typing the visual view will reflect the changes automatically and vice versa.

The news won't stop here, version control is also integrated within the platform, enabling you to check and compare what has changed from version to version, allowing a quick troubleshoot in case if something goes wrong or even rolling back versions.

You might be wondering, not all services are statics sometime users need to provide information to fulfill the provisioning, like OS images, t-shirt size (small, medium, large), etc.
Cloud Assembly provides this functionality through the use of “inputs”:
This way you can prompt end users for the information required to provide a service.

The way inputs work is; 
specify on the inputs section and the reference it latter on the resources section using ${inputs.”name”} sintax
There are dozens of patterns you can apply to inputs, just check it out for a comprehensive list.

It’s not all if you need specific cloud services like AWS services, S3 buckets, Route53, RDS Clusters, Lambda functions, Azure Machines or SQL Databases and much more, it’s all available within the canvas, just drag the component and configure it.

One last thing, many companies have implemented a DevOps culture, where developers are using CI/CD tools and committing code changes to a repository. You probably want to leverage the same methodology to your blueprints, NOT A PROBLEM, Cloud Assembly can also integrates with your Git repository and get the latest committed changes.
How cool is that ?!?

Next post I’ll cover how to control the placement of your services, stay tune

Tuesday, June 18, 2019

Multi-Cloud is the new Normal

Back in time a few years with the born of the first public cloud offers there was this fear that every company will get rid of their on-premises environment and will move entirely to the cloud, initiating the debate of private Cloud X public Cloud. 
Very soon it became clear it was not an either-or dilemma.

But this Cloud model still very attractive to some workloads, reasons being due agility, economics, or pure testing this amazing new model.
Since you were keeping your on-premises environment, and now adding a new environment (public) to your footprint, you must need to connect those two worlds in order to share services among them, which became known as hybrid cloud.

Fast forwarding, public cloud offers exploded with a lot of new players out there, offering a broad range of services, prices competition, and geo locality options.
Now companies that experimented the cloud on its earliest days are more comfortable with this model and eager to consume those new services.
Customers realized that each public offer has its own merits and unique features that could benefit their business, so why have to choose a single public cloud provider ???
The reality is now customers are picking the desired services from different cloud providers freely becoming now a Multi-Cloud environment.

To manage this Multi-Cloud environment, teams of specialists with specific knowledge around each cloud capability has been created inside the companies, bringing with them its own set of tools and scripts. As you might imagine the duplication of teams and tools it became clear there’s a new challenge inside the house, the cloud became the new silo.

Once again VMware has been called to save the day, with an inovatted plataform that makes the cloud complexity invisible, allows from a single point of management, governance to run their business homogeneous without worrying about clouds complexity and focusing only on their business.

The VMware Cloud Services plataform, provides several solutions, which can be used independently or integrated to solve the most complex challenges these days.
Cloud Automation Services, CAS, is one of them and comprisses of:

Cloud Assembly
Orchestrates and deliver agnostic multi cloud infrastructure, application and services, leveraging manifest that describes the desired state of your services in a declarative way, which could be programmatically used on CI/CD tools, versioned in line with DevOps principals

Service Broker

Allows aggregation of those offers from different clouds into a single self service catalog to be consumed by users. Enforcing governance, lease dates and approval policies.


Code Stream

Ease pipeline model construction that speeds up software delivery and streamlines troubleshoot of traditional and cloud native applications.

Of course, it's a simplistic description of those services, they can provide much more, this post is just the beginning of a series that will cover these services in details.
Keep posted, the amaziness is coming ….

Cloud Assembly - The Basics 
Cloud Assembly - Placement Engine

Saturday, February 23, 2019

Year in Review 2018

I’m alive !!!! After a long winter I’m back blogging, I have no one to blame but me, I could give a lot of excuses about how life is hard, changes on my personal and professional life and blah blah blah, but it won’t change the fact it has been 5 months since my last post.
Let’s dust off those skills and starts with my classical year in review post, even though it’s February already : (

Producing only 16 posts this past year is not a surprise none of them made it to the top 10, it might be search engines are ranking me low or I lost my faithful followers ; )

Generating 43,335 pageview, the traffic is coming from all around the world, 154 countries, US alone being 30% of all my traffic.

It’s amazing how my post about Converter is back to #1, did you run a physical to virtual project last year, please, let me know !!!

Here’s the full list:

#4. VMFS Version – VMWARE Datastore (not ranked last year)
#7. How access NSX through APIs (not ranked last year)
#8. Year in review 2017 (not ranked last year)

I think the only way now is up…let’s get this year starts for real

Who am I

My photo
I’m an IT specialist with over 15 years of experience, working from IT infrastructure to management products, troubleshooting and project management skills from medium to large environments. Nowadays I'm working for VMware as a Consulting Architect, helping customers to embrace the Cloud Era and make them successfully on their journey. Despite the fact I'm a VMware employee these postings reflect my own opinion and do not represents VMware's position, strategies or opinions. Reach me at @dumeirell

Most Viewed Posts

Blog Archive