Skip to main content

Microservices


On today’s blog entry we are going to talk about the Microservices architecture. This architecture has an approach where when we are developing a single app, we develop it as lots of small services, each of them running on its own process and communicating with each other with something that can bind them together. Now I have already used microservices without knowing I was actually using them, perhaps this architecture is quite intuitive for best practices or something like that, but anyway the author of the article gives some characteristics about this which are the following:

·         Componentization via Services: The components of the microservice need to be gather into libraries that will be used later on by the microservice to communicate with remote parts of the whole program.
·         Organized around Business Capabilities: This characteristic refers that we need to create divisions, each of the divisions need to be focused on the business capability which include various things like storage, interface, and many other stuff, now for this part the team developing this part needs to have different knowledge not only about programming, but also knowledge about project management, databases and obviously user interaction or experience.
·         Products not Projects The resultant software needs to be acknowledged not as another project, but as a potential product which characteristic can be used to improve the whole capability of the business than just a small part of it
·         Smart endpoints and dumb pipes: The endpoints should be for all the logic of receiving requests and applying it accordingly, and the pipes should be like small messages buses that behaves as a message router.
·         Decentralized Governance: This refers that the developers should use any tool at their disposal so the work can be done more faster and in form, but also they should probably code in any language so they can use those tools at their fullest so the system is not language based, but technology based.
·         Decentralized Data Management: the conceptual model of the world will differ between systems, so you should prefer letting each service manage its own database, either different instances of the same database technology (Polyglot Persistence).
·         Infrastructure Automation: automated test ad automate deployment.
·         Design for failure: Our software must tolerate the failure of the external services.
·         Evolutionary Design: Design software that is capable to evolve in the future.

Comments

Popular posts from this blog

Hidden Figures

On today’s blog I’m going to talk about a movie called Hidden Figures, directed by Theodore Melfi and released in 2016. I watch this movie during my class of software design and architecture and I have to admit it, I liked it, but not that quite much, is the kind of movie that you could see in a Sunday morning on tv, at least for me. The movie talks about three women and how they helped the NASA during the space race to make during the cold war (I think it was during the cold war) against the Russians. In the movie there are introduced three women, Katherine Goble, Mary Jackson and Dorothy Vaughn, who are trying to contribute and make their own way through their jobs in NASA. More importantly the movie shows how they struggle because of the discrimination at the time, so they couldn’t receive the treat they deserved, all of this happened during the NASA project of the first man to the moon. For many of us, we can´t imagine that kind of discrimination, but in the movie,   it

War Games

On today’s blog I’m going to talk about a movie released in 1983, War Games, which has been directed by John Badham. The movie shows the story of David Lightman, a kid who is kin of a genius in topics of computer science, the plots consists of how this kid started to hack to the system of the US military by accident because he thought he was hacking a videogame company instead, when he hacks the system he discovers a simulation created by the military called Thermonuclear War, now, Lightman thinks is a game so he stars to play it, the “game” consist on two sides or teams, the USSR or the United States, and after choosing sides, the teams decides where to launch a nuclear bomb, all of this is situated during the Cold war so the simulation has   that theme; the problem starts when the simulation actually prepares to launch real bombs and Lightman gets caught by the government because of the hacking, then when they explain the situation to him he finds the creator of the simulatio