EA 874 Blog Topic 2 Application Architecture; System Development

Dominic Patruno

What is SOA

Service Oriented Architecture (SOA) is an architecture that uses micro-services to perform functions that are very targeted and leverage pre-existing functions or applications. Service is the key word, because it amounts to value and that is what people are looking for. If you have a service that provides value, then your service will be consumed. Application Architecture is understanding how all the application and service built to consume and provide end users the value with the applications.

 

Service oriented architecture’s main purpose is to deliver business alignment and value. By leveraging other applications, data and services, SOA can deliver value as it is needed and as it continues to evolve. For example; Netflix has a customer database that stores all information bout the customer and their viewing habits. When building microservice like recommended viewing, the micro-service application might leverage data on what is in the viewing habits database, what is in the recently view database and what is in the like/disliked database. The microservice can then leverage the application and databases to provide a recommended list. This micro-application would be completed independent from the other systems and therefore could be enhanced and updated regularly. This level of customization the customers is very powerful and can separate a company from being successful or not.

 

Build vs. Buy

When considering a new system solution, there are many things to consider. Should you build the system or buy the system. The decisions should support business needs and requirements and should also fit within a budget and timeline. As documented in the TechRepublic web site by Dan Oliver, he outlines six steps to consider before making that decision.

Step 1: Validate the need for the technology -In some cases companies evaluate software and are sold on the multi-functional capabilities and the awe-inspiring success stories. So, these technologies can be purchased and then shelved. Causing companies to waste time and money.

Step 2: Identify core business requirements –  Most companies including mine is guilty of trying to find a technical solution before identifying the business requirements. We lost sight that technology is supposed to enhance our business not dictate the business.

Step 3: Identify architectural requirements – Architectural requirements are good to have because they set standards that designs must adhere to, resulting in reduced cost of implementation and support.

Step 4: Examining existing solutions – in some cases companies are so large that there might be a system in the organization that might meet these business requirements and could be leveraged by extending licenses or purchasing more capacity for the additional users.

Step 5: Are there in-house skills to support the custom solution – most companies may not have the proper skills to build and support this internally. Or in some cases to save money, companies might cut corners and do best effort in development and support. This usually means the quality suffers and users have a hard time using the system.

Step 6: Does a COTs Solution meet the needs – if the company does not have a significant development capability, then a COTs solution is probably the way to go. The implementation costs might be more up front, but over the longer term, a COTs solution could be less.

 

What are Microservices

Microservices are loosely coupled applications which implement a business capability. Another component that meets the definition is continuous delivery and of applications and functionality. The reason to use microservices is when you need to create application that do specific functions that may change frequently requiring less re-writing of an entire application stack.

The small code base and easily scalable design allows for changes to be without impacting the entire service being delivered. Monolithic applications will still be needed and have specific requirements, but more microservice applications are able to leverage these systems in a way to deliver quick and relevant value.

 

 

References

Retrieved September 13, 2017 from https://en.wikipedia.org/wiki/Service-oriented_architecture

Sprott, D. & Wilkes, L. (2004). Understanding Service Oriented Architecture. Retrieved from https://msdn.microsoft.com/en-us/library/aa480021.aspx

Oliver, D. (2002). Buy vs. build: Six steps to making the right decision. Retrieved from http://www.techrepublic.com/article/buy-vs-build-six-steps-to-making-the-right-decision/

Nemeth, G. (2014). What you should start using microservices. Retrieved from https://blog.risingstack.com/why-you-should-start-using-microservices/

 

EA 874 Topic 1 Blog: Digital Disruption and Stack overview; Cloud technologies influence

EA 874 Blog Topic 1 Digital Disruption and Stack Overview; Cloud Technologies Influence 

Dominic Patruno 

Digital Disruption 

What is digital disruption?  As described by Riemer and Johnson, digital disruption is the changes to social interaction, business and value creating using technology.  One of the best known digital disruption companies is Amazon.  With their store front, Amazon Web Services, Amazon movie and content services, same day delivery and now personal assistant technology Alexa.   They also just recently announced the desire to acquire Whole Foods to disrupt the supermarket business.  They are constantly challenging and changing the way we do business and disrupting markets and businesses in their wake.   

When I was a boy, we used to take pictures with a camera that we would have to purchase film for.  Once all the film was used we would take it into a store to have the film developed, this would take a week or two depending on the vendor.  Then 24 hour which became 1-hour photos became popular and those film developing businesses either evolved or went out of business.  Now you can use your smart phone and either print your digital picture at home or at a drug store such as Walgreens or CVS and have the photos almost instantly. 

These types of digital disruptions are still here today but are occurring far faster and with more advanced technologies.  Let’s take Alexa, the personal assistant.  With this tool, you can turn your lights on and off, order a pizza, play a movie and call or text your family and friends, all with voice commands.  Think of this type of technology in the work place.  Giving voice commands to personal assistance that prepare your expense reports, collect, generate and print reports of customer spend or new leads.  The applications are endless.  Companies are going to need to create a foundation for executing to keep up with these digital disruptions or risk being put out of business. 

 

Cloud Technologies 

Cloud technologies is a necessary foundation for the digital age.  Companies that want to be nimble, cost effective, and data driven will need to embrace some level of cloud technologies.  Whether they are leveraging Software as a Service, Platform as a Service or Infrastructure as a Service, these core capabilities will be key to enabling the digital business platform and creating a competitive advantage.  Software as a Service (SaaS) is key to providing software to enable the business for very routing types of business applications and services.  This is the technology where there is very little administration, no hardware or software to purchase and provides a consumable service to the business.   

Platform as a Service (PaaS) enables companies, by allowing them to develop and deploy applications rapidly, along with deploying applications closet to the end user.  This is less costly then renting data centers, buying servers and storage and deploying applications typically out of one region.  With PaaS you eliminate all of that overhead and move to a quicker pay as you go model. 

Infrastructure as a Service (IaaS) also provides a cost and agility benefit to organizations as this also relieves the burden of purchasing servers and storage, as well as network and software to support the infrastructure.  It provides companies the flexibility to provide server and compute workloads with an elastic capability.  Sometimes companies may need to ingest a tremendous amount of data and do some level of data analysis.  They can spin up terabytes of storage to stage the data, and spin up multiples compute serves to do the processing of the algorithms, once the analysis is done.  They can turn off all the resources and only paid for what they used.  If this was done in a local or leased data center, companies would still need to purchase the storage and computer hardware.  Once the analysis was done, what would they do with all that hardware that they did not need. 

In summary Cloud Technologies is becoming the new utility services for the digital age.  We should embrace cloud technologies, but ensure we are clear as to how we are using these services and mindful of the impact to our operations and security. 

 

 

EA Stack 

The Enterprise Architecture stack is actually quite intuitive in that all flows from the business, to business operations to systems that support the operations to the technologies that support the systems.  This allows for end to end alignment.  Once mapped, this can help with changes to the architecture at any of the levels.  If a business process changes, one can understand the entire ripple effect by looking through the Enterprise Architecture Stack.  For example, there is a change in the PO process; The Enterprise Architects can review what in the business operational process is being changed.  Then can look at all of the impacts in the information and data architectures or any application architectures that maybe impacted.  Additionally, but less likely, there may be a change required in the technology stack.  These stacks can all be updated based on the new process as necessary, all relevant parties can be trained and informed.  Without this level of architecture, what usually happens is systems, processes and procedures break down. 

References: 

Riemer, K., Johnson, R. (March 7, 2013). What is Digital Disruption. Retrieved from https://byresearch.wordpress.com/2013/03/07/digital-disruption/ 

Retrieved from https://www.amazon.com/p/feature/rzekmvyjojcp6uc  

Gray, M. (October 21, 2010). Cloud Computing: Demystifying IaaS, PaaS and SaaS.  Retrieved from  http://www.zdnet.com/article/cloud-computing-demystifying-iaas-paas-and-saas/  

 

 

EA 872 Weekly Blog Entry 12

Chatbots are one of the newest disruptive technologies in today’s business application landscape today.  Categorized as “apps” for voice and text messaging platforms, chatbots allow users to interact with digital business services and data using their spoken language.  Driven by the ever-expanding application marketplace, the Internet of Things (IoT), advancing cognitive Artificial Intelligence (AI), and conversational interfaces, chatbots are being propelled into our everyday lives.

From an EA perspective, our concern the increased usage of chatbots on personal devices will give way to a Bring Your Own Virtual Assistant (BYOVA) into the corporate environment. The implications on information security cannot be underestimated because each request delivered to a chatbot is a proxy for a user request. 

Most Enterprise Software solutions are incorporating this function into their products, the concern will be that in some cases the chatbots from different system might conflict, causing confusion and potential errors within the business processes. 

In summary, chatbots are gaining in popularity and this is a very disruptive technology.  Enterprises should be vigilant and establish governance and policy quickly to address this emerging technology.

EA 872 Weekly Blog Entry 11

Humans vs. machines, both have systems and both perform functions and tasks, but there are many differences that separate humans from machines.  First machines are created by humans and therefore their level of knowledge have been programmed into their computers by humans.  Machines do not have feelings where humans do.  Humans can feel pain and emotions, where a machine has no feeling of pain or emotions.  Humans are made up of organic material and are living systems, where machines are made up on non-organic material and systems that are programmed. 

Many have speculated that machines could one day take over the world.  I guess it is possible given the advancement in artificial intelligence and machine learning.  Machines could begin to learn on their own and then could possibly surpass the intelligence of humans.   This would probably be in the far future if ever.  Until then I think leveraging machines to help humans accomplish tasks and functions quicker is a good thing.  One thing that humans and machines do have in common is that we are ultimately made up of stardust and therefore come from matter that makes up the universe.

EA 872 Weekly Blog Entry 10

I recently read an article about digital services in the automotive industry and how the industry is changing from a mechanical to a more digital user experience.  Before, automakers would appeal to the customer by creating backup cameras, hot/cold seating, larger leg room, elegant looking trim and dashboard accessories.  Digital has changed all that.  Today automakers are focusing on a fully immersed experience that includes, video, artificial intelligence, pattern and profile recognition and crowd sourcing.  By leveraging information about how the customer travels, where they travel to and how long they are in their cars, automakers can create a customized and relevant experience.

For example, if the automakers digital platform know that you travel a specific way to work each day, it can use all its data feeds from traffic news, weather reports, emergency management updates and, artificial intelligence to suggest new more efficient routes to work.  This information can be sent to the customer via a smart phone or in some cases a smart mirror in a connected home. 

Ultimately the end goal is still the same, give the customer what they want.  The how has definitely changed, and is the secret sauce that will separate the automakers that continue to evolve versus the automakers that just fizzle out.

 

References:

Tian, J & Chin, A (2016, December) Digital Services in the Automotive Industry.  Computing Edge Hot Topics, 28-31.

EA 872 Blog Entry 9

This week’s focus on governance could not ring truer to real world scenarios as what was experience in China this past week.  When the assessment team walked into the office on Monday it became quite clear that there was a major incident as the key stakeholders of the assessment were either in meetings or had their staff assisting on the manufacturing floors.  We had been made aware that there was another virus outbreak.  Of course, the first response was, we had just gone through this, how are there new infections.  It turns out that some of the staff that images systems are not following the standard process to image machines, and therefore are putting a non-approved image back onto the shop floor systems.  In addition to that, it was discovered that there have been non-standard systems ordered which leverage a thin client and embedded version of Windows.  Since this configuration is not on the baseline there was never a patching method developed for these systems.

Another incident occurred where a customer network was infected.  Though it was directly impacting our infrastructure, the customer’s manufacturing lines were down and could not produce product.  This caused out IT staff to stand in and assist.  What was not clear was that instead of our staff working on correcting our problems first, they worked through the customer’s issue first and used all of the IT resources to do it.

These two incidents are perfect examples on why governance is so important and how effective governance can be to the enterprise and its resources.  Had the team been following the proper standards, we would have never been infected again, nor would we have wasted the time of the team and they could have been focused on other issues.  With regards to the customer, we want to assist the customer whenever possible, however to provide 60 hours of free IT services is not something that should be taken lightly.  We should have an agreement in place that addresses these types of issues, so that all parties are aware of their roles and responsibilities.

EA 872 Blog Entry 8

Blog Entry 8

Dominic Patruno

I have been in China for the past week doing assessments on our Infrastructure.  My biggest take away so far is the need for a current architecture that everyone can understand and also refer to.  We  have been ramping up more manufacturing and due to the time constraints, teams have building out system very quickly to accommodate business needs and customer requests.  What this has caused is what I will call a configuration drift.  Configuration drift is minor changes in the configuration and d delivery of systems.  This is not really an issue initial, but over time can become a significant change.  This has the potential to cause problems down the road as all of the decision making and updating to the architecture will be made based on the current documentation.  If areas have made modifications to the architecture and system delivery and these modifications have not been captured, then when changes to the architecture are needed, they will be difficult to implement because the real state of the environment will not be fully known.

Lack of documentation and proper training can cause so many issues, but can be corrected very easy with proper awareness training and publishing the many views documentation.

 

EA 872 Blog Entry 7

This week I learned a technique on how to do a business model known as business canvas.  This is a one pager that outlines different areas of the business and gives a very good 360 degree view of the business model.  This is a useful way to teach about the business model to colleagues, but can also be used a a genesis tool to see where improvements and or new business models can spawn.

As an Enterprise Architect, we understand that business itself is a living system, ever changing with the dynamics of the markets, people and process.  I think it is very important for all employees to be well versed in the business model.   I believe having a thorough understanding of the model, helps to map their part to the big picture.  Most employees will produce better if they understand how their contributions effect the big picture.  If they are just working towards an unknown goal or end, they tend to become disillusioned, or worse bitter and the work and productivity suffers.

It can be like being part of a sports team, knowing how you contributed to win the game will keep you motivated to continue to improve or keep do what you are doing.

EA 872 Week 6 Blog

 

I had an interesting debate this week with a colleague about architectures and why we are creating so many different views.  My position was that depending on the audience the architectures and the story focus would be different.  For example, if I was speaking to senior leadership and was illustrating our technology stack, I would use high-level boxes and speak to the capabilities of our technologies.  If I was speaking to our Infrastructure group or maybe more technology focused group my illustrations and story would be more focused on the type of technology and how we specifically use it to enable the business.  My overall point was that was the benefit of Enterprise Architecture.  Having the “big picture” view to be able to speak to all levels of the enterprise.

This is one part of Enterprise Architecture that I think gets lost in enterprises.  Most think there is either a business strategy focus or a technology focus.  What I find is that they don’t make the connection that EA is the connection between the two and its effectiveness to marry strategy and technology together harmoniously.

EA 872 Week 5 Blog

This week I really dove into business process modeling and architecture.  It was like drinking through the firehose with all the different tools and nomenclatures.  I found it difficult to understand the subtle differences with the leading industry tools.

Some tools were slated more for specific functions, such as UML for software process modeling, and some accounted for more architecture stacks.   Archimate which allowed for business, systems and technology modeling.  Which in some cases is very beneficial for Enterprise Architecture.  I have been playing with ARIS tool and it seems to be good, but there is a learning curve for me.

This seems to be an area, where the industry must come together before enterprises can adopt one type of solution.  It seems for now, enterprises should pick the best framework and tool that meets their needs.  One important aspect to keep in mind is that once a tool/framework is selected.  everyone should use it.  variations within the enterprise at this level not only goes against a key Enterprise Architecture principle, but also is a recipe for disaster.