Discovering Sharable Resources in a Microservices Environment

mealsharingapp1

At times, it seems wise to have applications share resources. This extends to microservices

In the last article, I examined where boundaries might be placed between microservices. This article continues this examination by discussing which resources might be shared.

Related Articles:

Segmenting Microservices

Security in a Microservices Environment

When to Share

In this case, sharing means turning a set of potential microservices into a single microservice. Our experience suggests that services are cominable when:

  • there is no chance of a producing a security risk
  • services share more than just a database backend
  • services require similar resources OR
  • services use different resources on the same system with different levels of intensity
  • services will not require scaling on their own
  • services are maintained in the same manner and share code

Always consider resource usage and security. Any system set to scale beyond current resource usage or where a hardware gap is recommendable should be separated.

If done appropriately, combining microservices can:

  • reduce cost
  • reduce resource usage
  • increase speed
  • increase ease of maintenance

Example

Consider a set of services related to licensing and access grants, not passwords. These services are often symbiotic as a license often carries what oauth considers scopes, rights to use certain components of the system.

These services can easily be combined and shared with tokenized access for any frontend. When using frameworks such as Django, the service avoids constant bombardment as well.

Conclusion

Combining microservices helps reduce cost. Knowing what to share is critical. Sharing is caring unless it hurts.

 

The Case for Microservices, Where To Segment

micro

There is a growing need for microservices and shared services in the increasingly complex and vibrant set of technologies a true IT firm runs. Licensing, authentication, database services, ETL, reporting, analytics, information management, and the plethora of tasks being completed on the backend are impossible to accomplish in only a single application.

This article examines boundaries discovered through my own company’s experience in building microservice related applications.

Related Articles:

Discovering Sharable Resources in a Microservices Environment

Security in a Microservices Environment

Segment On Need and Resource Usage

To be fair, where segmentation of systems occurs depends on the need for each service. Clients may need a core set of tasks to be completed in one area or another. Where those needs diverge is a perfect boundary for establishing a service.

For instance, our clients need ETL, secured cloud file storage, data sharing, text management, FERPA/HIPP and legally compliant storage of data, analytics, data streaming, surveying, and reporting. Each of these areas encompasses one company or another but is cheaper done under a single roof to the tune of $7000 in savings per employee per year at a small to medium sized company.

Our boundaries are specified directly around needs, security, and resource costs. ETL encompasses one boundary due to computation costs, cloud storage another for security reasons, logging for legal compliance another, analytics takes up another service due to computational costs, stream and survey intake and initial analysis comprises another more vulnerable piece, and reporting yet another. Overlapping everything is a service for authorization and the authentication of access rights through oauth2.

The different services were chosen for one of the following factors:

  • resource cost
  • shared tasks and resources
  • legal compliance and security

Segmenting for Security

The modern world is growing increasingly security and privacy conscious. Including authentication systems and the storage of information on the same system as a web server is not recommended.

Microservices allow for individual applications to be separated and controlled. Access can be granted to specific clusters based on a firewall and authentication. Even user access control is easier to maintain. Hardware boundaries can be easily established between vulnerable pieces of a system.

Essentially, never stick a vulnerable frontend, streaming, or survey application on the same hardware as your potentially identifying initial file storage and always have some sort of authentication and access rights mechanism.

Results

Our boundaries are helping us scale. Simplr Insites, LLC dedicates individual resources as needed to each service. It also allows the company to offer a pricing scheme offering variable levels of services tailored to a customers needs more easily.

Some clients do not need an ETL system and only want case note management. That is possible. At the same time, granting GPU resources to the analytics cluster while giving our reporting cluster more RAM is as well.

In essence, Simplr Insites was able to reduce the cost of running systems in a 42 U shared space, possibly by as much as $5000 per month for our small company, while remaining more secure and delivering faster and tailored results based on the needs of clients through a single web frontend based SAAS application.

Conclusion

Discovering where to place microservice boundaries is critical to the success of an application. It relies on many factors ranging from resource cost, to the ability to share resources, and even legal compliance and security. Appropriate splitting of services can reduce cost and increase speed.

Can Romer-G Switches make you More Productive at Work?

The past few years have brought large cost increases to basic computing accessories. E-sports, tariffs, and, to an increasingly lesser extent, the saturation of computing have driven up prices.

The cost of a keyboard and mouse in my area is now over $100, sending me on a distracting morning quest when I should have been working. It is my fault for stepping on my mouse and keyboard, obliterating the USB housing and contacts.

The result of replacing my AST keyboard with a Logitech G413 is an 8 of 10 at a cost of $59.99 at MicroCenter.

The Romer-G’s are cheaper than their domed counterparts, last longer by 10-15 million key presses, are potentially more productive, and are more enjoyable. Not spending $99-$120 on an ergonomic keyboard, a wrist pad is only $8.99, was a great decision.



Ergonomics

These keys are actually ergonomic. Logitech claims that the indentation on the key caps help fingers slide into position.

This is true. Where my hands used to lie flat, I now find myself typing with the curl my 8th grade typing teacher would slap a gold star on.

Typing Speed

Logitech claims that the lower actuation point than domed and design can increase typing speed by 25 percent.

While the target consumer is a gamer, this concept should work both ways without producing redundant letters.

Never taking anything on face value, I ran a test.

I chose the Aesop Fables test on https://www.typingtest.com. The results:

  • Dome switch keyboard typing speed: 77
  • Romer-G  speed: 86

According to the test, my speed increased a whopping 9 words per minute. The test claims that my speed went from fast to pro.

This seems embarrassing considering I know someone who can type at 110 wpm.  Still, while this keyboard only gives a slight edge, less than 25 percent, the boost is almost noticeable. Also, my typing goddess of a friend is a former semi-professional Star Craft player, the one with all of the Koreans.



Click Factor and Pleasure

No review of a mechanical switch is complete without the ASMR factor. These keys are clicky. They feel better than domed switches. The ergonomic factor plays a role in this as my posture is never great.

Overall, these keys are faster, cheaper than most of their domed and Cherry counterparts, and tend to wear out fingers less. Modern mechanical keyboards use a more human friendly plastic.

Conclusion

The Logitech keyboard works well and the switches have a better feel than their rubber domed counterparts. While not as great as their Cherry counterparts, the Romer-G supposedly lasts longer and costs less than the ergonomic domed key keyboards. Being more responsive than a typical keyboard, a Romer-G keyboard can also increasing typing speed while helping combat carpel tunnel disease.