Quotes

Saturday, January 19, 2019

Misc



Think globally and act locally

Categorize and Conquer

Customer centric, business driven arch.

Career + Impact

EAI vs SOA vs ESB

EAI:  Concept of integrating 2 or more business apps

SOA: Style of integrating 2 or more business apps

ESB: Implementation of those integration using tools like IBM mq series, Mulesoft, Apache Camel..

EAI focusses on integration between Enterprise Business Applications, that SOA is a particular way of organizing your IT. And that ESB can be an implementation of both.

Friday, January 11, 2019

EA mistakes


1. Focusing on one domain

The scope of Enterprise Architecture(EA) includes business, application, data and technical architecture. Many architects focus on one domain more than the others. Some Architects become business-oriented and lack insight into technical details. Others become embroiled in low level technical architecture and lack business awareness.

2. Long and complex

Have you ever see a architecture diagram that looks like the schematic for a nuclear submarine ― it is not pretty. The enterprise architecture needs to be widely understood and adopted ― this is impossible if it is overly complex. EA should be short and simple.

3. Working in a bubble

Enterprise architecture is all about breaking down technology silos in favour of common solutions. However, all too often enterprise architects work in a silo themselves. The primary role of the EA Architect is to lead the EA process. The business needs to play an active role in defining the architecture.

4. Governance what?

Governance is probably the most challenging aspect of Enterprise Architecture. It is also the area that is most often neglected. It is critical for EA to be involved in major projects and initiatives. Compliance assessments should be required activities for all projects.

5. The never ending process

Enterprise architecture is a long term planning activity ― but it needs to be relevant in the here and now. An enterprise architect should never lose touch with day-to-day business pressures and challenges.

6. Dogma and silver bullets

Some enterprise architects have preferred solutions they tend to apply to every situation. This often takes the shape of a trendy concept such as SOA.

7. Jargon

Most enterprise architects are familiar with standardized vocabularies for IT such as that provided by ITIL. These standardized terms are great ― if you are talking to other architects. An enterprise architect needs to be a great communicator and part of this is using the words that people understand. If the organization refers to Service Level Management as "Quality Service Management" then that is the terminology the EA team should adopt.

Enterprise Architect

If you have over 300 employees enterprise architecture is the best investment you can make.

1. Align IT with business

IT has a mind of its own. User acceptance rates will improve.

2. Breakdown silos

People like to do their own thing ― especially when it comes to technology. Someone needs to develop a blueprint for everyone to follow.

3. Have a plan

Companies have a tendency to be short sighted when it comes to IT investment ― enterprise architects have the discipline to plan years out.

4. Help senior management understand IT

Whether you are an airline, a bank or a food distributor ― technology is your business.

5. Control costs

An enterprise architect can act as a point person to detect projects that are likely to fail and put an end to them fast. They can also drill managers to reuse existing company IT assets.

6. Have someone on the cutting edge

Enterprise architects should be well aware of IT trends. They can lead the introduction of new technologies into the organization.

7. Standards

Your enterprise architects are your evangelists for standards and best practices.

8. Recognize and propagate enterprise innovation

If you are lucky and one of your IT staff comes up with something wonderful. A new technology, process or standard that is ground breaking. Is it going to be recognized? Who is going to champion the propagation of this wonderful idea?

Enterprise architects can work with build teams across your organization. When they discover brilliance they can work it into the enterprise blueprint.

9. Audits

Enterprise architects can help you gain the control over your IT assets you need to pass audit inspections.

10. Technical gurus of last resort

Are your consultants telling you something you don't quite believe? Need someone to give a tough technical interview?

You don't need an army

Enterprise architects are high level planners ― you don't need an army of them. Having a few good ones around will be the best investment you ever make.

Enterprise Architecture


1. What is Enterprise Architecture?

An Enterprise Architecture (EA) is a collection of strategic information that describes a business and the information and technologies necessary to operate the business. This includes descriptions of goals, business processes, roles, organizational structures, information, applications and systems.

Enterprise Architecture encapsulates the information necessary to implement new technologies in response to the changing needs of the business.

EA is often broken down into four domains: business, application, data and technology architecture.

2. What is the value of Enterprise Architecture?

Enterprise Architecture is a strategic information asset to be used to shape the Enterprise.

It is key to understanding the current investment in IT and efficiently planning and directing future IT investments.

Enterprise Architecture is a tool for identifying opportunities to improve key Enterprise metrics related to things like operational efficiency, IT costs and customer satisfaction.

Enterprise Architecture helps achieve enterprise alignment, manage change, and reduce time-to-market.

3. What is the Zachman Framework?

The Zachman Framework is a framework for Enterprise Architecture developed by IBM in the 1980s.

It provides a way of defining an enterprise according to a 6x6 matrix of architecture documentation. The columns of this matrix ask the questions why, how, what, who, where, when. The rows look at these questions from different levels of detail: contextual, conceptual, logical, physical and detailed.

The Zachman Framework provides a view for Planners, Owners, Designers, Builders and Subcontractors. The basic idea is that the same thing can be described for different purposes in different ways. This creates a holistic view ― it allows different people to look at the Enterprise from different perspectives.

The Zachman Framework has been incorporated into many Enterprise Architecture frameworks. (often as a reference model)

4. What is the TOGAF framework?

The Open Group Architecture Framework (TOGAF) is a framework for enterprise architecture. It provides a comprehensive approach to the design, planning, implementation, and governance of an enterprise architecture.

TOGAF models the enterprise at four levels: Business, Application, Data, and Technology.

TOGAF includes a methodology for defining IT in terms of a set of building blocks. It also contains a set of tools, a vocabulary, recommended standards and list of TOGAF compliant tools.

TOGAF includes a iterative process for enterprise architecture called Architecture Development Method (ADM).

5. What is an Enterprise Architecture Roadmap? What kind of information does it contain?

An EA Roadmap describes a current and target architecture and a transition plan to achieve the target state.

An EA Roadmap should include the business, application, data and technical architecture for each state.

The Roadmap lists the projects required to implement the proposed architecture. This should include project prioritization, risks and issues, migration strategy, estimated costs, success factors and project measurements.

6. How can you evaluate if a solution conforms to the Enterprise Architecture?

It is important to engage projects during the initiation phase to ensure that architecture compliance processes are included in the project planning.

Once the solution architecture has been defined a compliance assessment should be performed. The compliance assessment ensures the project conforms to the defined Enterprise Architecture. It is also an opportunity to engage project members and get feedback for the Enterprise Architecture.

The compliance assessment includes checklists for hardware, software, applications, information, security, system management and methods and tools. It also documents an overview of the project architecture / design.

7. What is SOA?

SOA is a set of design principles for building a suite of interoperable, flexible and reusable services. These design principles include discoverable service contract, loose coupling, service abstraction, service reusability, service autonomy, service statelessness and service composability.

A successful SOA implementation can reduce IT costs by increasing reusability. SOA's flexible mesh of services can also reduce time to market. SOA also helps to leverage existing investments by wrapping legacy applications in a mesh of reusable services.

8. What is ITIL?

Information Technology Infrastructure Library (ITIL) is a set of best practices for IT service management, development and operations.

ITIL gives detailed descriptions of a number of important IT concepts and includes checklists, tasks and procedures that can be tailored for any enterprise.

Some major areas ITIL covers are:
  • Service Support
  • Service Delivery
  • ICT Infrastructure Management
  • Security Management
  • Application Management
  • Software Asset Management

In the Service Support area ITIL covers processes such as Service Desk, Incident and Problem Management, Change Management, Release and Configuration Management.

In the Service Delivery area ITIL covers processes such as Service Level Management, Capacity Management and Service Continuity management.

9. What are SOA patterns?

SOA design patterns are reusable solutions to a commonly occurring SOA design problems.

Some common SOA patterns include:

Enterprise Service Bus - A tool that fosters service communication by providing reliable messaging, message queuing, data transformations and service broker functionality.

File Gateway - A file gateway is placed between a service and legacy flat file. The gateway acts as a mediator and can perform data transformations.

Event Driven Messaging - The service notifies its consumers of relevant events with messages.

Service Callback - A service requires that consumers communicate with it asynchronously. Consumers provide a callback address to which the service can send response messages.

Service Grid - Service state is stored on a grid of services that support replication and redundancy.

10. What is an Architecture Vision? What information does it contain?

The Architecture Vision is created during the project initiation phase of a project. The purpose of the vision is to agree from the start what the desired outcome should be for the architecture.

The Architecture Vision is the enterprise architect's elevator pitch. It needs to simply and powerfully sell the benefits of the proposed architecture to decision-makers. It also needs to show how the proposed architecture will support business goals and strategy and stakeholder concerns and objectives.

Typical contents of an Architecture Vision are:
  • Problem description
  • Objectives
  • Process descriptions
  • Roles and actors
  • Constraints
  • IT principles
  • Architecture overview
  • Mapping of the proposed architecture to processes and requirements

SOA design principles

Service-oriented Architecture (SOA) is as simple as can be. There are 9 design principles to keep in mind when designing a SOA service:  SLA SAR CDI

1. Standardized Service Contract
Services adhere to a service-description.

service-contract

2. Loose Coupling
Services minimize dependencies on each other.

service-loose-coupling

3. Service Abstraction
Services hide the logic they encapsulate from the outside world.

service-abstraction

4. Service Reusability
Logic is divided into services with the intent of maximizing reuse.

service-reusability

5. Service Autonomy
Services should have control over the logic they encapsulate.

service-autonomy


6. Service Statelessness
Ideally, services should be stateless.
service-statelessness


7. Service Discoverability
Services can be discovered (usually in a service registry).

service-discoverability


8. Service Composability
Services break big problems into little problems.

service-composability


9. Service Interoperability
Services should use standards that allow diverse subscribers to use the service. This is considered so obvious these days that it is often dropped as a principle.

service-interoperability

Thursday, January 10, 2019

Microservices patterns

Here are the different approaches we can implement microservices..

1)  Fine-grained SOA

2) Layered APIs over fine-grained SOA

3) Message-oriented state management over layered APIs

4) Event-driven state management over layered APIs

5) Isolating state in layered APIs

6) Replicating state in layered APIs (event sourcing)