[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [soa-rm] Groups - Draft - Minutes-SOA-RM TC June-21-2017.doc uploaded
As promised, a long response. I’m about 3/4 of my way through the SOA-RM reread and the only thing that doesn’t seem to hold is not having a private copy of the service. That is discussed further below. Also, as a teaser for the discussion, I give you this preview of my wanderings: Let’s look at a different twist: is AWS EC2 a SOA service? It provides access to the capability to spin up the specified server, making use of an AWS underlying capability through a well-defined interface and per a well-defined execution context. AWS constantly makes changes to EC2 and the consumer may make use of an updated interface to make use of new capabilities or the consumer may just get changes that are distributed but don’t require an interface change. Also, we are obviously crossing ownership boundaries. The underlying capability is likely implemented as a set of microservices, but SOA doesn’t care about that. Looking forward to your thoughts. Ken ------------------------------------------------------------------------------ Dr. Kenneth Laskey MITRE Corporation, M/S H330 phone: 703-983-7934 7515 Colshire Drive fax: 703-983-7996 McLean VA 22102-7508
We have made previous attempt at redefining “service”
and it has always been like pressing a balloon of water – what you push in at
one place pushes out at another. My pet
change would be to make the idea of a “business service” as the union of the
capability and the access mechanism be a first class definition. Not intending to start a discussion, I will
leave that statement and move onto the next comment.
AWS has already created GovCloud for US
Government work requiring ITAR restrictions and C2S for classified content. I am sure they will be able to tailor for EU compliance. Typically, the special cloud lags advances in
the Public Cloud, leading to frustrated developers doing most of their work in
the Public Cloud until the last minute.
One outcome
of taking a DevOps approach is speeding development but DevOps heavily
leverages principles reaching back to Lean development and Toyota. I recently gave an internal presentation on
how the buzzwords of Lean, Lean-Agile, Scaled Agile, Miroservices, Containers,
and DevOps actually reinforce each other and provide real value. The corresponding principles are valuable
even if the emphasis isn’t on assembly.
The merge between Dev and Ops is an important example of generating value. The Scaled Agile Framework (SAFe) is an
example of an evolving framework for multiple teams and traceability to
enterprise goals and priorities.
One outcome
of taking a DevOps approach is speeding development but DevOps heavily
leverages principles reaching back to Lean development and Toyota. I recently gave an internal presentation on
how the buzzwords of Lean, Lean-Agile, Scaled Agile, Miroservices, Containers,
and DevOps actually reinforce each other and provide real value. The corresponding principles are valuable
even if the emphasis isn’t on assembly.
The merge between Dev and Ops is an important example of generating value. The Scaled Agile Framework (SAFe) is an
example of an evolving framework for multiple teams and traceability to
enterprise goals and priorities.
The SOA service is the access mechanism, which
can be more than merely the specification of an interface. For example, the SOA service can invoke
authentication and authorization logic before allowing the access. Or the SOA service can validate the request. You also provide a good example relevant to
the cloud where load balancing can result in spinning up additional resources
as needed. A microservice architecture
would emphasize defining pieces that are sufficiently independent that you
could spin up or down the needed resources.
You could think of this as separate resources for the underlying
capability and the SOA service. A microservice could make use of a pub/sub
capability to inform a consumer that a microservice has changed or something in
the request could trigger a response that includes a recommendation to update
the local microservice. This is in line
with your “undeploy” statement. I don’t see microservices as being factories;
the load balancers are the factories that create the microservice instance from
the specifying template/image. One hole in SOA was it was assumed by some that
the service provider could make changes at will and these changes suddenly
showed up without warning if the interface didn’t change. With microservices and containers, the
consumer can be explicitly warned that something will be triggering an update
of what they have been using and the consumer has some control over whether to
accept the update. So, yes, this is a big deal from the SOA
standpoint that consumers have private copies. The provider controls the
package that is delivered. In addition
to the underlying capability and the SOA service to access it, the defining
image also specifies the server configuration on which the service
executes. Assuming the ability to
construct a server on the fly would have been ridiculous; now it is
commonplace. I don’t think private
copies were feasible when we wrote the SOA-RM.
I think they are much more feasible now for compact resources and
sufficient connectivity. Despite the
microservice emphasis on independence, there may still be room for our original
idea of a network accessible resource when a local copy is insufficient or
infeasible, or the still somewhat open case of reconciling data changes. Let’s
look at a different twist: is AWS EC2 a SOA service? It provides access to the capability to spin
up the specified server, making use of an AWS underlying capability through a
well-defined interface and per a well-defined execution context. AWS constantly makes changes to Ec2 and the
consumer may make use of an updated interface to make use of new capabilities
or the consumer may just get changes that are distributed but don’t require an
interface change. Also, we are obviously
crossing ownership boundaries. The
underlying capability is likely implemented as a set of microservices, but SOA
doesn’t care about that.
I don’t see microservices as merely interfaces with declared functionality
but rather declared outcomes from an image with a declared interface. I believe the microservice includes or
otherwise accesses what you call the “body” that gives rise to the outcomes. I think it would be interesting to further explore how the
microservice bounded context compares to the execution context. I believe there may be an alignment.
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]