CIDE: An Integrated Development Environment for Microservices

Microservices is a flexible architectural style that has many advantages over the alternative monolithic style. These include better performance and scalability. It is particularly suitable, and widely adopted, for cloud-based applications, because in this architecture a software system consisting of a large suite of services of fine granularity, each running its own process and communicating with the others. However, programming such systems is more complex. In this paper we report on CIDE, an integrated software development environment that helps with this. CIDE supports programming in a novel agent-oriented language called CAOPLE and tests their execution in a cluster environment. We present the architecture of CIDE, discuss its design based on the principles of the DevOps software development methodology, and describe facilities that support continuous testing and seamless integration, two other advantages of Microservices.

[1]  Hong Zhu,et al.  CATest: A Test Automation Framework for Multi-agent Systems , 2012, 2012 IEEE 36th Annual Computer Software and Applications Conference.

[2]  Pablo Acuña Amazon EC2 Container Service , 2016 .

[3]  Hong Zhu,et al.  Big SaaS: The Next Step Beyond Big Data , 2015, BigData Congress.

[4]  Eric Mayer Service Oriented Computing Semantics Processes Agents , 2016 .

[5]  Dirk Merkel,et al.  Docker: lightweight Linux containers for consistent development and deployment , 2014 .

[6]  Hong Zhu,et al.  CAOPLE: A Programming Language for Microservices SaaS , 2016, 2016 IEEE Symposium on Service-Oriented System Engineering (SOSE).

[7]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[8]  Kenneth van Surksum Release: Oracle Solaris 11 , 2011 .

[9]  Hong Zhu Toward an Agent-Oriented Paradigm of Information Systems , 2005 .

[10]  Eric A. Brewer,et al.  Kubernetes and the path to cloud native , 2015, SoCC.

[11]  Hong Zhu,et al.  Agent-oriented modelling and specification of Web services , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[12]  Hong Zhu,et al.  Modelling Web Services in the agent-oriented modelling language and environment CAMLE , 2007, Int. J. Simul. Process. Model..

[13]  Hong Zhu,et al.  SLABS: A Formal Specification Language for Agent-Based Systems , 2001, Int. J. Softw. Eng. Knowl. Eng..

[14]  Claus Pahl,et al.  Containerization and the PaaS Cloud , 2015, IEEE Cloud Computing.

[15]  Hong Zhu,et al.  Caste-centric Modelling of Multi-agent Systems: The CAMLE Modelling Language and Automated Tools , 2005, Model-Driven Software Development.

[16]  Mazin S. Yousif,et al.  Microservices , 2016, IEEE Cloud Comput..

[17]  Munindar P. Singh,et al.  Service-Oriented Computing: Semantics, Processes, Agents , 2010 .

[18]  Hong Zhu,et al.  Modeling and Simulating Adaptive Multi-agent Systems with CAMLE , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.