понедельник, 28 сентября 2020 г.

[Cheatsheet] Patterns in Cloud Computing

Patterns are defined as a known ways to-do-things-as-good-guys. It is widely used concept in software architecture. I personally know guys who are ready to kill for patterns. But please, don't forget one proven thing - today's patterns may turn into anti-patterns in next year (or tomorrow!).

So here is cheatsheet, original page is "Cloud Computing Patterns



пятница, 25 сентября 2020 г.

Architecture cheatsheet: SOA vs Microservices

Martin Fowler gives a good definition for Microservices architecture term. In short this architectural style concentrates on building a suite of small services. Every of these small guys are running in its own space and communicating via lightweight way - say HTTP/REST.


In comparison to classic SOA architecture Microservices approach concentrates on really "small" parts with two different responsibilities:
  • Infrastructure services
  • Functional services
Functional components within a microservices architecture in fact has single purpose, and do one thing at  a time. The big win is they do it  really really well. 

среда, 23 сентября 2020 г.

Data ingestion with AWS Lake formation

On the current project we have 2 billions of data points per day. These metrics are ingested with data pipelines into GCP storage. POC task I used to work - is a question "can we optimize a current architecture"? Target platform to develop architecture - Amazon web services. Draft architecture with AWS Lake formation looks pretty good on a high level:
It utilizes different types of datasources out of the box. And it looks additional connectors can be developed and attached. Lake Formation provides secure access to data through an AWS Identity and Access Management (IAM) policies. It operates with terms of "blueprint", "workflow" and "data catalog". A blueprint is a data management template to ingest data into a data lake. And a workflow is a container for AWS Glue jobs. The Data Catalog is persistent metadata store - it used to store, annotate, and share metadata in the AWS Cloud in the same way as in an Apache Hive metastore.

More about AWS Lake formation: https://docs.aws.amazon.com/lake-formation/latest/dg/how-it-works.html

понедельник, 21 сентября 2020 г.

Amazon Kineses - use big data streaming to build real-time app

Good practical example of architecture - Ads data is ingested real time, then processed in custom application and delivered to user. Amazon Kinesis is a fully managed, cloud-based service for real-time data processing over large, distributed data streams.