In this article I’m covering 9 of the most common patterns of microservices architecture augmented with some tools and tips.
Software Engineer, husband and Father
In this article I’m covering 9 of the most common patterns of microservices architecture augmented with some tools and tips.
I started series of talked in design called design talks.
here’s the first one:
Hi this is to start a new series of posts about microservices architecture, it’s going to be mainly in the format of Q/A.
A: There’s no specific answer for this question however it’s generally accepted to say that it’s designing systems that are formed of many small (as in small responsibility list) and independently deployed services.
My definition: It’s a child for SOA that’s favoring distributed, single responsibility services over monolithic service(s).
This may trigger another question(s) like:
Please, check next question’s and next posts for answers.
A: Following are the main patterns of what’s usually conceived to be a Microservices design:
A: Microservices architecture isn’t a silver bullet yet it has many advantages and to name a few:
*1. I’ll do another post about event-driven asynchronous programming to support this point.
It has been 13 months since I first joined MC.
I started as 13 months ago and I’m still as excited as I first joined I’m doing different things here and there and I’m now responsible for a team of 5 besides my work.
Very recently I managed to pull of a face lift for couple of our main money generating components and managed to reduce performance of both apps dramatically, unfortunately I won’t be able to share details more than having this change on some major app for 3 weeks in a row and that was around 300% decrease in page load time.
I was happy 1 year ago and I’m still. this is what matters after all.
Technically the major updates was taking ECMA Script and Design more seriously (Weird mix) but this is reality.
Since I’m taking architecture more serious now (both application and system architecture), I’m willing to post and talk more frequently about design in the following posts.
See you soon.
I have to admit. I always didn’t like linkedIn, very bad UX and UI and features aren’t aligned enough to convince me that I should stay more than 5 minutes browsing it not to mention the absolute clutter at it’s news feed and how non-sense is it to follow and watch completely irrelevant posts and shares.
Anyway, since it’s the hub of all companies and jobs and leading(so-called) professional network I had to make a profile there and keep it updated as much as I can.
In May 2015 LinkedIn announced a change in API they commented on this API change by saying
For many developers, we understand that today’s changes may be disappointing and disruptive, but we believe these changes will provide further clarity and focus on which types of integrations will be supported by LinkedIn.
And this year with high resolution image of Microsoft’s CEO and linkedIn’s Microsoft has acquired linkedIn
“The LinkedIn team has grown a fantastic business centered on connecting the world’s professionals,” Nadella said. “Together we can accelerate the growth of LinkedIn, as well as Microsoft Office 365 and Dynamics as we seek to empower every person and organization on the planet.”
With that said I’m expecting no good from LinkedIn anymore except for helping Microsoft be a better in monopoly.
Hence I’ve developed linkout ruby gem to allow scraping LinkedIn profile without the need of their API.
And I’m also developing a new app that uses this gem to port your profile to XING.
I’ll update this post when this app is ready so keep an eye on it.
Note: use linkout gem only to get your profile data not to scrap the whole linkedIn or else you’ll be violating ToS of linkedIn.
Life isn’t always fair
It’s been very interesting quarter in MC and I believe I was doing good I received a raise and it feels great when I get a raise specially when it’s related to being high performance, I also (very recently) started learning “Machine Learning” and studying “Scala” more regularly.
On my personal life side, It’s been generally a happy quarter specially the end, since I’m getting to gym more regular and I visited Sharm AlSheikh and Dahab(for the first time with my small family), did snorkeling in the most dangerous diving spots in the world (The Blue Hole).
However said, I believe things in my house isn’t as organised as in my work, my dear wife Reem is a new mother and she is new to feeding and raising Yahia while keeping up with house keeping tasks; Yahia is very demanding baby and keeping up with him is very hard task. I believe she won’t be able to get it right anytime soon. Good news is that she is constantly searching, acquiring help from her available resources, Learning and she is making some progress.
I’m constantly trying to develop a language using which she will get my comments and advices on how she should do her job right without feeling any criticism from my side. (Reality is I’m a critical person) but I’m constantly working on this.
The only disappointing part is that we are having a lot of fights on:
– Which source of information is valid enough ?(Should we seek help only from social media, medical websites and videos or should we see a doctor/physician/family mentor?).
– She is constantly feeling that I’m blaming her or underestimating he work every time I’m trying to advise her.
Reem is very knowledgable person who has her own beliefs and sources of truth and reaching a solid decision on how we should raise Yahia must be a couple decision.
I believe the only way to do it is to believe that we have to keep learning for our lifelong.
Hopefully, we -one day- will get it right for the love of Yahia and our small home.
It has been very long time since I posted anything here and here we go a quick list of updates:
1- Still enjoying my time in MC.
2- I’m doing huge changes in my life I’m learning new technologies, adding new habits to my life and applying a very agile methodology on my life development.
3- Yahia is consuming a huge part of my resources yet I can’t love him more (A completely new type of LOVE).
POC (proof of concept), If I can have a slogan for this period of my life I’d have the slogan POC everything.
It turned out that I’m talented when it comes to developing POCs and POCs aren’t only technical small software to prove some concept, it turned out that I can apply this on my personal life.
Recently, I was concerned about these questions How can I earn money while sleeping ?, What skills and technologies can I add to my Arsenal ? and Is there a silver bullet for my life problems?
I believe in the sliver bullet concept (not in the silver bullet itself), That’s why I’m thinking of giving course(s) online on udemy.
Courses will be related to topics like: python, django, rails, node-js, angular-js and git.
I’ll make sure that my understanding for these topics isn’t only about using them but sharp enough to teach them.(I’ve done that before with PHP and MySQL), I’ll also make some money while sleeping, And yes, this is supposed to be a sliver bullet.
Guess what? It can have a POC I’ll start with very small course about ruby on rails and later on I’ll evaluate based on feedback.
Stay tuned.
It has been three months of MC.
It has been very exciting time that I almost contributed to all projects, made my own and even practiced the role of scrum master in a start up that strongly believe in Agile development. In the following lines I will briefly describe my journey.
1- Moustafa our CEO, the very first thing to notice about MC is Moustafat.
Moustafa is innovative, passionate Engineer who is taking a business very serious. He inspires everyone around him, motivates them and simple get the best out of everyone/everything.
He understands the business problem and the techenical challenges and this exactly what makes him a perfect CEO msA.
2- The team, MC has a great team of young yet talented group of people who share a lot of interest and background yet have different approaches to solving our problems. What I really like is how truly (code wins arguments) is happening in MC we regularly benchmark and POC the tools we use and that’s how we use to resolve conflicts that’s why even if we landed a bad choice it’s nothing attached to anyone it’s all a technical decision.
3-Advisors, MC has set of business and technical advisors all have very long experience in business and technology adding up their experience MC becomes a very old wise man as fast as Cristiano Ronaldo.
4- Environment, this one requires a separate post but briefly I can say that I just feel home @ office that I go home (the actual one) late so many times. The other good thing is it’s constantly improving.
New office is ~ 6 miles from home and in a very cool yet active place I Maadi St 9.
That’s it for now.
After business and ownership problems in Vision advanced systems the whole development team was aggressively and suddenly laid off and being the head of development I got laid off too.
A group of talented people managed to see that challenge as an opportunity to a new thing. This is how a new start-up called mussder (Arabic word مصدر means source) is something big in the making isA.
Last week only we managed to get our legal shit together, our stamp on our very first direct customer invoice paid and an almost full furnished office.
Starting Nov. 2015 I’ll be isA part of the great start-up MENA Commerce (MC).
Before landing this job I went through a very harsh selection process for different employees and even harsher problem selecting my next step I had the chance to get offers from almost all my favorite corporates and start-ups in Egypt and I had to develop and update a selection function based on which I had to go with MC offer.
The selection function isn’t new to me however I made huge change to it based on my experiment in vision and I’m very excited to see if it works or not.
I decided to go down the chain in order to enhance my development skills and my next position is Senior Software Engineer.
After the rails course I released that I want to give courses more to sharpen my skills.
My first python package:
https://pypi.python.org/pypi/zklib/0.1.0
Library that’s allowing communication with ZK attendance biometric machines.
pip install zklib
code: