Category Archives: Architecture
15 Tricky DevOps Architect Interview Questions & Answers
DevOps and DevSecOps are two sides of the same coin. They both share some goals, but they also have their differences. It is important to understand what each one means so that you can implement them properly in your organization. In this post, you will learn about some of the questions (and answers) which could be asked in the DevOps Architect interview. The following are some of the topics you might want to cover for doing interview preparation for DevOps Architect position: DevOps & DevSecOps concepts Setting up DevOps implementation DevOps reference architecture DevOps reference implementation Continuous delivery concepts & reference architecture Technologies (Tools s& Frameworks) Here is a related …
Key Architectural Components of a Data Lake
Data lakes are data storage systems that allow data to be stored, managed and accessed in a way that is cost-effective and scalable. They can provide a significant competitive advantage for any organization by enabling data-driven decision-making, but they also come with challenges in architecture design. In this blog post, we will explore the different components of data lakes, including the data lake architecture. Before getting to learn about data lake architectural component, lets quickly recall what is a data lake. What is a data lake? A data lake is a data storage system that allows data to be stored, managed, and accessed in a way that is cost-effective and …
Top 5+ Microservices Architecture & Design Best Practices
The Microservices-based application architecture represents a collection of small, autonomous and self-contained services which are built to serve a single business functionality/capability. The following represents a sample microservices-styled application landscape representing a set of microservices. Pay attention to different micro-services accessed through API gateway. In this post, you will learn about some of the best practices related to microservices-styled architecture (MSA) which can be adopted when creating the microservices-based application. The following are some of the best practices related to microservices which you may consider following while doing application implementation based on Microservices-styled architecture: Model Services based on Domain-driven Design (DDD): Services should be modeled around the business domain. Check …
Blockchain Architect – A Sample Job Description
Blockchain application development is going mainstream, and hence, would be requiring professionals with different roles and responsibilities including Blockchain architect, Blockchain developer etc. You may want to check out different Blockchain job designations on this page. The following is a list of points which can be made part of job description for Blockchain architect and related designations such as Blockchain platform architect, Blockchain solution architect, Blockchain lead architect etc. Demonstrate good understanding of Blockchain fundamentals, smart contracts, consensus algorithms Good understanding of different types of Blockchain such as public, private/permissioned, public permissioned etc. Good understanding of Blockchain framework such as Hyperledger Fabric, R3 Corda, Ethereum (Solidity) Good understanding of various …
Blockchain Architect – Top 20 Project Implementation Considerations
When everyone is considering implementation different projects using Blockchain (distributed ledger) technology, it becomes key for Blockchain architects and leaders to pay attention to some of the key considerations including challenges related with blockchain projects implementation. On the lighter note, the comic strip below is a representation of the need for Blockchain architects required to get into several details including different architecture considerations before starting on a blockchain projects. In this post, you will learn about key considerations to be made by Blockchain architects and leads before starting on the Blockchain projects. Blockchain Project Implementation – Key Considerations Learning from similar project implementations: Analysis of blockchain-related implementations in similar and/or …
AWS Architects – Best Practices to build Efficient Systems
Here is a great resource (best practices and guidelines) which would help cloud architects (especially, AWS Solution architects) build the most secure, high-performing, resilient, and efficient infrastructure possible for their applications. That said, these cloud architecture whitepapers (pdf) would also prove helpful and useful for all kinds of cloud architects including Azure, Google Cloud, IBM, Oracle cloud etc. The following lists down the links for pages in related areas of interest: Operational excellence: Includes topics such as managing and automating changes, responding to events, and defining standards to successfully manage daily operations. Security: Includes aspects such as confidentiality and integrity of data, access-control, data audit etc Reliability: Includes topics such as recovery …
Architects – How to Calculate Service Availability Time?
This page lists down different aspects which can be considered by solution architects / technical architects / application architects on how to calculate service availability time. Given that microservices architecture style / cloud-native is adopted in modern age applications development, it would be good to know this piece of information. Service availability is commonly defined as the percentage of time that an application is operating normally. The following are different techniques which can be used to calculate service availability: Availability as function of MTBF and MTTR Availability with hard dependencies Availability with redundant components / services Service Availability as a function of MTBF and MTTR Service availability can be calculated based …
Top 8 Areas to Consider for Application Architecture Review
This article represents top 8 areas to consider when you are going to review an application architecture. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Hardware and Operating System: Following areas need to be reviewed: Hardware and operating system choices Financial analysis Processes for evaluating hardware and operating system System capabilities involved in high-frequency, high volume data transfers Software Services and Middleware: Following areas need to be covered: Coding standards Data structures Architecture layers Design patterns (stateful vs stateless) Design for change Communication protocols Code review processes Unit testing Applications Infrastructure: In case, the applications are infrastructure applications, …
Architecture – Top 10 Traits of a Software Architect
This article represents my opinion on top 10 traits of a software architect. Recently, I came across a need of my fellow colleague who asked me to take a shot at defining, what would it take for someone to become an architect. The below could be applied to architect in any technologies. Note that the below does not take into account few traits of an enterprise architect. However, I purposely did not include it. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos. Following are the top 10 traits described below: Knowledge of relevant technologies Should demonstrate strong …
How to Become a Technical Architect or an IT Architect?
The article presents a perspective on what is required to be done to become a Software Architect given you are currently playing the role of a software developer or a senior software developer. I have put up this blog as an answer to a related question put up by one of the vitalflux.com esteemed reader. Well, there is no right or wrong answer to this question. There can only be different perspectives. In case you have different views, please feel free to comment. Before I go on to present my perspective, check out some of the following links to understand what is Software Architecture? http://en.wikipedia.org/wiki/Software_architecture http://www.sei.cmu.edu/architecture/ http://www.ibm.com/developerworks/rational/library/feb06/eeles/ Different Designations …
LinkedIn Application Architecture – Software Distribution View
The article lists down the softwares used at different layers in the LinkedIn platform layered architecture. Presentation Layer Dust.js (Client-side templating JS engine) Backbone.js (Client-side MVC JS framework) JQuery YUI Library (UI libraries started by Yahoo engineers) Google V8 Engine (Used as server side JS templating engine) Node.js (Used in mobile app) HTML5 (Used in mobile app) Business Layer Java (Applications such as Profile) Grails (Applications such as a Recruiter app) JRuby (Applications such as a Skills app) Spring (Component Model) Scala Middleware Apache Kafka (Distributed entreprise-level messaging system) Data Layer Oracle (RDBMS as primary data store used for writes) Espresso (NoSQL data store emerging as primary data store and envisioned to …
Data Architecture Lessons from LinkedIn.com Data Handling Mechanisms
The article aims to describe how data is managed at LinkedIn.com, the most popular professional social networking site. Please shout out loud if you disagree with one or more of the aspects mentioned below. Also, do suggest if I missed on one or more aspects. Data use-cases at LinkedIn.com Following are some of the data use-cases that we may have come across while we are surfing various different LinkedIn pages: Update your profile, and the same appears in recruiter search in near real-time. Update your profile and same appears as network connections in near real-time. Share an update, and same appears on others news feed page in near real-time. Then, there are …
List of Handy Architecture & Design Patterns for Developers & Architects
[adsenseyu2] If you are a newbie developer. experienced developer, aspiring to be architect or an architect, you may want to keep following architecture & design patterns handy with you to solve day-to-day software architecture and design problems at your work place. These patterns can be applied for developers/architects of varied experience level, having expertise with various different technologies (programming languages). Please feel free to suggest additional patterns as if I may have missed some of them. Application Architecture Patterns: These patterns primarily are related with topics such as how to layer an enterprise application, how to organize domain logic, how to tie that logic to a relational database, how to design a …
Top Architecture & Governance Principles for 2014
Following are some of the key architecture and governance principles that you could adopt for your project for this year 2014. The architecture principles could be seen as “guiding principles” based on which team would want to design, develop and test the applications. Key Architecture Principles (Guiding Principles) Holistic approach to application security: Given that applications could be accessed from different channels including web and mobile devices, the attack vectors for hacker has increased to a great extent. Thus, traditional approach of applying perimeter level security and doing security penetration testing may not suffice. Instead, it may be a good idea to take a holistic approach towards application security as …
Journey from Technical Lead to Technical Architect
What is road to becoming a technical architect is a tricky topic, many wants to know. Especially, this is of interest largely to senior developers and technology leads. Let me give a shot at this. I would love to hear your comments in this regard: Technology vs Thought Leadership: Technical lead is primarily responsible for exploration and implementation of technology (tools & frameworks) to solve a particular set of problem in hand. He also plays a crucial role in doing proof-of-concept in related with adoption of newer technologies. The person on this role also acts as a mentor and guide to individual team members in terms of adoption of technology. However, …
Technical Architect Interview Questions
Today, I happened to take an interview of a 9 years experienced guy in java technologies working as a senior tech lead in one of the global software services companies. Following are some of the questions that were discussed: 1. Define reliability and its different attributes. 2. If customer mentions reliability as one of the most important non functional requirements, what architecture and design strategy would you recommend to the team to achieve a high state of reliability? 3. If given a set of business requirements, what are done of the key steps you would undertake to reach uppity lowest most level of designing classes, interface etc? How would you …
I found it very helpful. However the differences are not too understandable for me