AngularJS is a big part of life at Cloud Application Manager. We build our front-end with it. The principles of AngularJS and Cloud Application Manager are strikingly similar. One relates to applications while the other to automation. As a huge Angular fan, I enjoy building one of the most powerful automation interfaces using Angular. It’s easy to see why.

Angular is a Javascript framework to build single-page web applications. A pretty popular one at that because it’s got a lot of blogs and comments devoted to it. We chose Angular at Cloud Application Manager because of what it allows us to do.

  • Build rich single-page applications that reduce user experience latency.
  • Structure content using the client based template system.
  • Modularize and reuse modules using a client based MVC page routing system.
  • Integrate with other REST services.
  • Plugin smoothly with unit and end-to-end tests.
  • Integrate with modular technologies like RequireJS.

Angular Componentization

Angular includes many tools. A template system, a router, basic components like controllers or services. It includes elements to communicate smoothly with a server, modules for the unit and end-to-end testing, HTTP backend REST call mocks, and an injection subsystem to handle dependencies.

On top of these, we use RequireJS as a package dependency manager. It constructs dependencies and loads classes, modules, and files automatically. RequireJS helps us divide Cloud Application Manager into small chunks of code, which we join and minify later at build time like other compiled programming languages.

One big reason we like AngularJS is the componentization. Componentized architecture gives isolation. It lets you encapsulate logic in a standalone code and then reuse it. Most web applications evolve in that direction today. Even browsers now support the web components working specification.

In Angular, we componentize using directives. It lets us extend HTML syntax to create custom elements. You may ask, why components and not just Angular templates, controllers, and services? That’s because components give us the following advantages:

  • Isolates component scope. Isolated scope helps noob Angular developers avoid common problems like scope inheritance.

  • Encapsulates things inside. A component can have its template, directive, controller, and in some cases services. Thanks to RequireJS, we also encapsulate all the component assets as images or styles.

  • Provides reuse. Once you create a component, you can use it everywhere.

Components give much more. Each component can nest more components. These can interact with each other. Angular2, the next on the horizon for Angular, is built on this principle and so is Cloud Application Manager if you think about it. Cloud Application Manager applies the same principles of AngularJS programming toward application automation. I am proud to claim that with AngularJS, we’ve built one of the best user interfaces to simplify cloud application management and automation out there.

Want to Learn More About Cloud Application Manager and ElasticKube?

Cloud Application Manager is a powerful, scalable platform for deploying applications into production across any cloud infrastructure – private, public or hosted. It provides interactive visualization to automate application provisioning, including configuration, deployment, scaling, updating and migration of applications in real-time. Offering two approaches to cloud orchestration — Cloud Application Manager and ElasticKube — enterprise IT and developers alike can benefit from multi-cloud flexibility.

Visit the Cloud Application Manager product page to learn more.