Inspiration

When you go to an international site, that can be opened in different parts of the world, you want people to experience equally no matter the country or language.

For this project we were originally using a SQL database, but that approach is monolithic because of the current architecture we were using, if we wanted to experience even more decoupling and freedom from current services a self managed and hosted DB should be used instead. As a result we managed to decouple the previous DB and switch into a hosted aws DB.

What it does

The app is basically the administrator side of a translation services tool, it allows the user to add or remove languages, as well as applications, and performing the translations available to that specific application, for a company it is very valuable to have them all in one single place and be able to escalate such tools to meet its own needs and other small companies needs. The usage is by using simple GET calls with the corresponding application id, the tool will return the entire configuration for the application along with its labels translated.

How I built it

Taking advantage of micro services technology, I migrated the project from a monolithic approach into micro services, using bitbucket I can easily push my changes and Bitbucket Pipelines would help me to fire a deployment to an azure environment, within the environment I configured the connection string to an aurora Mysql database which is managing all the data and serving a demo client application, covering aspects of continuous integration, micro services, and was self managed aurora database. The angular version is 4, dotnet core 2.1 and aurora mysql database

Challenges I ran into

Moving away from a monolithic DB where all the tables are stored or several databases were tables are protected by a small group of DBAs, this micro services implementation allows me to select other databases in case one is failing, answering faster to the needs and speed of the business. It also allows me to make the database bigger or to move it to better environments as a single unit avoiding increase a large scale DB which would be more expensive.

Because APIs were living separately I had to recreate APIs as self contained, this was beneficial since the development time decreases whenever changes are required.

Accomplishments that I'm proud of

I am proud of putting together a continuous integration with bitbucket which installs in azure and consumes from amazon, my next step can be moving all web into amazon.

What I learned

I learnt a lot, since user administration in amazon, setting up servers, configuring instances and managing assets

What's next for Web based translation services

The next step can be testing the full micro service into amazon services to experience the full features of an isolated micro self contained feature

Share this project:

Updates