Default HubSpot Blog

Service discovery and dynamic request routing with Nirmata

[fa icon="calendar'] Feb 17, 2015 4:56:13 PM / by Ritesh Patel posted in Product

[fa icon="comment"] 0 Comments

As microservices style architectures are becoming more common, new architectural patterns are emerging. Microservices style applications are highly distributed and dynamic, and a key architectural constraint for microservices applications is elasticity i.e. A microservice must be able to scale, up or down, independently of other services in the same application [1]. As a microservice scales up or down, other services need to be able to find it and communicate with its instances, resulting in requests being distributed across all instances of that service, and enabling the application to scale horizontally. There also needs to be some built in mid-tier load balancing (i.e. service-to-service) so that requests to a service get evenly distributed across its instances.

Read More [fa icon="long-arrow-right"]

Service discovery and dynamic request routing with Nirmata

[fa icon="calendar'] Feb 17, 2015 4:56:13 PM / by Ritesh Patel posted in Product

[fa icon="comment"] 0 Comments

As microservices style architectures are becoming more common, new architectural patterns are emerging. Microservices style applications are highly distributed and dynamic, and a key architectural constraint for microservices applications is elasticity i.e. A microservice must be able to scale, up or down, independently of other services in the same application [1]. As a microservice scales up or down, other services need to be able to find it and communicate with its instances, resulting in requests being distributed across all instances of that service, and enabling the application to scale horizontally. There also needs to be some built in mid-tier load balancing (i.e. service-to-service) so that requests to a service get evenly distributed across its instances.

Read More [fa icon="long-arrow-right"]

Deploy applications, not containers!

[fa icon="calendar'] Feb 9, 2015 4:52:43 PM / by Ritesh Patel posted in Product

[fa icon="comment"] 0 Comments

 

Read More [fa icon="long-arrow-right"]

Deploy applications, not containers!

[fa icon="calendar'] Feb 9, 2015 4:52:43 PM / by Ritesh Patel posted in cloud applications, Containers, Product, DevOps

[fa icon="comment"] 0 Comments

 

Read More [fa icon="long-arrow-right"]

Nirmata’s Cloud Services Platform Demo

[fa icon="calendar'] Oct 1, 2013 3:00:35 AM / by admin posted in Product

[fa icon="comment"] 0 Comments

Today I am very excited to show you a new way to develop & operate software, using the Nirmata Cloud Services Platform.

Read More [fa icon="long-arrow-right"]

Nirmata’s Cloud Services Platform Demo

[fa icon="calendar'] Oct 1, 2013 3:00:35 AM / by admin posted in Cloud Services Platform, Product, Cloud Architecture

[fa icon="comment"] 0 Comments

Today I am very excited to show you a new way to develop & operate software, using the Nirmata Cloud Services Platform.

Read More [fa icon="long-arrow-right"]

Introducing Nirmata

[fa icon="calendar'] Sep 30, 2013 2:45:16 AM / by Jim Bugwadia posted in Product

[fa icon="comment"] 0 Comments

My co-founders and I started Nirmata to transform software development & operations, and make better software. We believe that a new approach to software development is necessary as the demand for software continues to grow, and as software architecture and development is being significantly affected by three major trends:

  1. Cloud Computing
  2. Apps over Applications
  3. Software-defined Everything

Trend #1: Cloud Computing

As businesses are adopting cloud computing to replace traditional data centers, software applications now need to operate in a new environment. Current software was designed for environments where resources are manually allocated (typically over-allocated) and carefully managed. This approach does not work in a cloud. Migrating existing applications to a cloud causes fixed usage at peak-load requirements of leased resources. Also, applications that are deployed as a single monolithic runtime unit (e.g. the app tier of a JEE Web App) will create operational complexity in a cloud environment, as they are not designed to handle failures or scale in a granular manner.

“Unfortunately, without the proper architecture, there's a very real risk that Cloud Computing won't live up to its promise or in some situations will fail outright.” -- Bloomberg, Jason (2013-01-23). The Agile Architecture Revolution

Software that needs to run in a cloud requires a different architecture. Additional drivers for this new architecture are mobile computing, big data, the internet of things, and software-defined data centers.

It is important to note that although cloud computing disables existing software architectures, it also enables a new delivery model for software designed to operate in clouds.

Trend #2: Apps over Applications

It has been estimated that 80% of features in enterprise software applications are typically unused. Thanks to the smart phone, a new model has taken hold, and consumers are getting hooked on simpler software “apps”, instead of bloated, complex enterprise software. The "app" approach also affects backend (server-side) software architectures, as well as software development and operations. Large, monolithic software applications are being re-written as easy-to-use, focused, and co-operating services that run on a common platform.

Trend #3: Software-defined Everything

As more and more devices, even entire data centers, are becoming software-defined a new layer of software applications is needed to control and manage these devices. Application software will rely on platforms, controllers, and policy engines that manage the underlying devices. These special purpose software infrastructure components will be required to run in public and private clouds.

What will Nirmata Provide?

Nirmata provides a platform for development and operations of cloud native applications. With the Nirmata Platform, an application is designed as a set of loosely coupled cloud services. Each cloud service has pluggable modules for common features such as uniform APIs, security, metrics, etc. The Nirmata Platform also provides common services for service discovery and registration, data management, and auto-scaling. With Nirmata's solution, a cloud service becomes the fundamental unit of development & operations. This architecture provides several key benefits, such as the ability to version, scale and deploy individual services. New applications can now be composed by using existing services.

We are just getting started at Nirmata. If you are building cloud applications and would like to learn more about the Nirmata Platform, we would love to hear from you.

Summary

To summarize, I would like to quote Jan Bosch, who "nails it" in his presentations:

  • Increasing SPEED trumps ANY other improvement R&D can provide to the company – the goal is continuous deployment of new functionality
  • Teams should be small, multi-disciplinary, self-selected and -directed, use data (not opinions) for decision making and optimize quantitative output metrics
  • Software architecture is central in allowing for independent, continuous deployment to customers

At Nirmata, our goal is to enable rapid development of complex software. Software built using Nirmata will allow small autonomous DevOps teams to deliver and control incremental code changes. Nirmata enables businesses to move from 1-2 software releases per year to a continuous delivery model.

-----

Jim Bugwadia

Follow us on Twitter @NirmataCloud

 

References

Read More [fa icon="long-arrow-right"]

Introducing Nirmata

[fa icon="calendar'] Sep 30, 2013 2:45:16 AM / by Jim Bugwadia posted in Cloud Services Platform, Product, Cloud Architecture

[fa icon="comment"] 0 Comments

My co-founders and I started Nirmata to transform software development & operations, and make better software. We believe that a new approach to software development is necessary as the demand for software continues to grow, and as software architecture and development is being significantly affected by three major trends:

  1. Cloud Computing
  2. Apps over Applications
  3. Software-defined Everything

Trend #1: Cloud Computing

As businesses are adopting cloud computing to replace traditional data centers, software applications now need to operate in a new environment. Current software was designed for environments where resources are manually allocated (typically over-allocated) and carefully managed. This approach does not work in a cloud. Migrating existing applications to a cloud causes fixed usage at peak-load requirements of leased resources. Also, applications that are deployed as a single monolithic runtime unit (e.g. the app tier of a JEE Web App) will create operational complexity in a cloud environment, as they are not designed to handle failures or scale in a granular manner.

“Unfortunately, without the proper architecture, there's a very real risk that Cloud Computing won't live up to its promise or in some situations will fail outright.” -- Bloomberg, Jason (2013-01-23). The Agile Architecture Revolution

Software that needs to run in a cloud requires a different architecture. Additional drivers for this new architecture are mobile computing, big data, the internet of things, and software-defined data centers.

It is important to note that although cloud computing disables existing software architectures, it also enables a new delivery model for software designed to operate in clouds.

Trend #2: Apps over Applications

It has been estimated that 80% of features in enterprise software applications are typically unused. Thanks to the smart phone, a new model has taken hold, and consumers are getting hooked on simpler software “apps”, instead of bloated, complex enterprise software. The "app" approach also affects backend (server-side) software architectures, as well as software development and operations. Large, monolithic software applications are being re-written as easy-to-use, focused, and co-operating services that run on a common platform.

Trend #3: Software-defined Everything

As more and more devices, even entire data centers, are becoming software-defined a new layer of software applications is needed to control and manage these devices. Application software will rely on platforms, controllers, and policy engines that manage the underlying devices. These special purpose software infrastructure components will be required to run in public and private clouds.

What will Nirmata Provide?

Nirmata provides a platform for development and operations of cloud native applications. With the Nirmata Platform, an application is designed as a set of loosely coupled cloud services. Each cloud service has pluggable modules for common features such as uniform APIs, security, metrics, etc. The Nirmata Platform also provides common services for service discovery and registration, data management, and auto-scaling. With Nirmata's solution, a cloud service becomes the fundamental unit of development & operations. This architecture provides several key benefits, such as the ability to version, scale and deploy individual services. New applications can now be composed by using existing services.

We are just getting started at Nirmata. If you are building cloud applications and would like to learn more about the Nirmata Platform, we would love to hear from you.

Summary

To summarize, I would like to quote Jan Bosch, who "nails it" in his presentations:

  • Increasing SPEED trumps ANY other improvement R&D can provide to the company – the goal is continuous deployment of new functionality
  • Teams should be small, multi-disciplinary, self-selected and -directed, use data (not opinions) for decision making and optimize quantitative output metrics
  • Software architecture is central in allowing for independent, continuous deployment to customers

At Nirmata, our goal is to enable rapid development of complex software. Software built using Nirmata will allow small autonomous DevOps teams to deliver and control incremental code changes. Nirmata enables businesses to move from 1-2 software releases per year to a continuous delivery model.

-----

Jim Bugwadia

Follow us on Twitter @NirmataCloud

 

References

Read More [fa icon="long-arrow-right"]

Subscribe to Email Updates

Recent Posts