So the Real-World Quadrant Q1 2020 has come out... showing my chosen path (service oriented architecture, SOA) as in the uncool/hard quadrant. I've never shied away from hard work, when the payoff can be worth it. And that's the case with SOA. SOA is an architectural approach to make (often already implemented) services available in an agnostic format to consumers (where consumer is some other IT process).
From the perspective of reusability, SOA makes perfect sense. But it isn't the answer, always. I like to think of SOA as a way to think about applications and the way they interact with other business processes. If these processes work in concert, that can be an avenue for extra value. Now if doing that doesnt gain any business value, then other models might make more sense. The key is to look forward, and do the hard (and uncool) work.
Intellectual capitalism drives Bluedog. We believe an intellectual capitalist pursues freedom of choice -- and what counts is freedom in the marketplace, in the home, in one's thoughts.
Showing posts with label service oriented architecture. Show all posts
Showing posts with label service oriented architecture. Show all posts
Saturday, February 8, 2020
Monday, November 20, 2017
Why Service Containers are the Future of SOA
For many developers, using the cloud to design and test apps makes sense when they must develop a business application that reaches many via the internet. They need to host it somewhere. The cloud is a utility. If a developer finds that, today, Azure is the most useful, they will deploy with them. If AWS offers something they need or has better terms, they will switch over to them. If the cloud is a utility, then we all want that ability to switch between systems.
Containers offer that. With the benefits of agility, elasticity, and automation of container technology will provide new capabilities to developers supporting web and mobile apps. Containers enable developers to craft environments to spin up new instances, free of constraints and tool conflicts. Keeping web services in containers means developers can also collaborate with system administrators by sharing updates for changes, linking, and testing.
The nexus of container implementation is a cloud orchestration layer for provisioning the infrastructure required to support containers. This enables live migration and monitoring of service resources after the migration. Because containers reduce complexity via abstractions, they remove the underlying infrastructure dependencies. This ability to standardize service architecture with managed distribution and service orientation ensures that containers will lead the way to the uptake of SOA principles.
Read more here...
Containers offer that. With the benefits of agility, elasticity, and automation of container technology will provide new capabilities to developers supporting web and mobile apps. Containers enable developers to craft environments to spin up new instances, free of constraints and tool conflicts. Keeping web services in containers means developers can also collaborate with system administrators by sharing updates for changes, linking, and testing.
The nexus of container implementation is a cloud orchestration layer for provisioning the infrastructure required to support containers. This enables live migration and monitoring of service resources after the migration. Because containers reduce complexity via abstractions, they remove the underlying infrastructure dependencies. This ability to standardize service architecture with managed distribution and service orientation ensures that containers will lead the way to the uptake of SOA principles.
Read more here...
Monday, September 5, 2016
Cloud Security is Not As Difficult as One Imagines
Distributed computing in the cloud give customers the opportunity to take advantage of service oriented architecture in incremental amounts without the expense to obtain such assets. Cloud computing can be though of in three ways: Infrastructure as a Service; Platform as a Service; and, Software as a Service. Besides, this style of computing has a few fundamental arrangement models, specifically, open, private, group, and a hybrid. With every one of the open doors exhibited by distributed computing as a business procedure, there are in any case potential dangers connected with the procedure, particularly in the range of security. The point of this paper is to figure out if or not it is secure for organizations to use the administrations of distributed computing as a component of their every day operations to address the issues of their clients and to at last accomplish their business destinations. With satisfactory security controls established, cloud computing is a safe and effective option for organizations to use for their day by day operations.
One such security compromise was the recent security breach of Apple iCloud. This was perhaps a talked about security breach following the unauthorized publication of personal photographs of American celebrities. However, after a thorough investigation, the accounts had been compromised as the result of a targeted attack on usernames and passwords.
Duty regarding security in the cloud environment was an undertaking shared between the cloud administration supplier and the cloud client. In situations where outsiders are utilized, those gatherings will likewise be in charge of security of the cloud. Be that as it may, the cloud client has extreme obligation regarding information privacy, uprightness and access controls (as far as characterizing access parameters and levels of access for clients). The cloud client ought to guarantee that using a cloud administration supplier does not bring about security issues that may trade off consistence with laws and directions. In any business, hazard evaluation is essential in recognizing dangers, organizing them taking into account probability and effect and additionally outlining controls to relieve them.
One such security compromise was the recent security breach of Apple iCloud. This was perhaps a talked about security breach following the unauthorized publication of personal photographs of American celebrities. However, after a thorough investigation, the accounts had been compromised as the result of a targeted attack on usernames and passwords.
Duty regarding security in the cloud environment was an undertaking shared between the cloud administration supplier and the cloud client. In situations where outsiders are utilized, those gatherings will likewise be in charge of security of the cloud. Be that as it may, the cloud client has extreme obligation regarding information privacy, uprightness and access controls (as far as characterizing access parameters and levels of access for clients). The cloud client ought to guarantee that using a cloud administration supplier does not bring about security issues that may trade off consistence with laws and directions. In any business, hazard evaluation is essential in recognizing dangers, organizing them taking into account probability and effect and additionally outlining controls to relieve them.
Wednesday, September 23, 2015
Microservices - decomposition writ small
Building robust enterprise solutions requires thinking differently. For many, service oriented architecture is the way to go. But recently, the influx of microservices challenges the idea that there's only one way to skin the proverbial Information Technology cat. As Torsten Winterberg puts it, “Microservices are the kind of SOA we have been talking about for the last decade. Microservices must be independently deployable, whereas SOA services are often implemented in deployment monoliths. Classic SOA is more platform driven, so microservices offer more choices in all dimensions.”
I have always been of the mind that service oriented architecture (SOA) represents an architectural pattern for software design where application components provide services to other components via a communications protocol, typically over the internetwork. Today, many embrace the idea of micro services -- in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. Now, this seems to be splitting hairs, but in practice the concept of microservices might be hard to distinguish from SOA principles. Think of it this way: With SOA, one could write business logic to query a dataset to GetPaymentsAndCustomerInformationAndPurchaseHistoryDataAPI and AuthenticateUsersAPI. The approach from a microservices pattern would simply be to deconstruct those two APIs into much smaller units (GetCustomer; SubmitPassword). The net result is of course the same transactional processing and data traversing the wire, but in smaller increments. And new uses for the multiple APIs could be found, perhaps.
Perhaps the biggest gains in taking a microservices approach resides in cloud-deployed applications. Monolithic applications are sometimes wholesale moved to the cloud, but every time a rev is made, even to a small part of the app, the entire solution to be rebuilt, tested and deployed. With the alternative, smaller units are revised with agility, and downtime is reduced or eliminated.
I have always been of the mind that service oriented architecture (SOA) represents an architectural pattern for software design where application components provide services to other components via a communications protocol, typically over the internetwork. Today, many embrace the idea of micro services -- in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. Now, this seems to be splitting hairs, but in practice the concept of microservices might be hard to distinguish from SOA principles. Think of it this way: With SOA, one could write business logic to query a dataset to GetPaymentsAndCustomerInformationAndPurchaseHistoryDataAPI and AuthenticateUsersAPI. The approach from a microservices pattern would simply be to deconstruct those two APIs into much smaller units (GetCustomer; SubmitPassword). The net result is of course the same transactional processing and data traversing the wire, but in smaller increments. And new uses for the multiple APIs could be found, perhaps.
Perhaps the biggest gains in taking a microservices approach resides in cloud-deployed applications. Monolithic applications are sometimes wholesale moved to the cloud, but every time a rev is made, even to a small part of the app, the entire solution to be rebuilt, tested and deployed. With the alternative, smaller units are revised with agility, and downtime is reduced or eliminated.
Wednesday, April 1, 2015
Ask Your Developer: Is this a Web or Cloud App?
When a customer asks, should we go Cloud vs Web, my response is frequently, what's the difference? Then, I try to illuminate with the following. These days cloud applications are all the rage… but what’s the difference between a cloud app and a web app, if they both run in your browser? And are mobile apps cloud-only? Confused? Don’t be. Here’s a quick primer on the differences (and similarities).
Let’s start with web applications — software accessed over a network such as the internet or an intranet via a web browser such as Safari or Chrome. Such tools are built with= a browser-based language (e.g. JavaScript), displayed with HTML and accessed with a common web browser. In web apps, the software as well as the database resides on a central server. This saves software developers from building and maintaining multiple client versions for a specific operating systems.
Cloud apps are hosted by cloud providers (Amazon, Google, others) and are accessed over the Internet. The software-as-a-service (SaaS) provider owns the software while the customers “rent the app” in a pay per use model. As web apps, they are used through a web browser so nothing needs to be installed locally. Cloud apps are generally architected to support multi-tenancy — enabling multiple customers (tenants) to be aggregated into the same application). Pricing is based on actual usage or per-user.
They seem similar, don’t they? Both types of apps are stored on a server and delivered through a browser interface over the internet. Cloud apps should have high availability (through mirrored installations in multiple locations) as a feature, while many web apps are limited in ability to support a fixed number of users. Cloud apps may offer extra security and integration with other systems via web services. Administrators of cloud apps can easily configure workload and traffic patterns in order to utilize the exact amount of infrastructure offered. Web applications are usually developed for a given platform, limiting scalability.
Mobile apps that access the same back-end over the internet would be considered cloud apps if the architecture and supporting infrastructure are cloud-based.
Let’s start with web applications — software accessed over a network such as the internet or an intranet via a web browser such as Safari or Chrome. Such tools are built with= a browser-based language (e.g. JavaScript), displayed with HTML and accessed with a common web browser. In web apps, the software as well as the database resides on a central server. This saves software developers from building and maintaining multiple client versions for a specific operating systems.
Cloud apps are hosted by cloud providers (Amazon, Google, others) and are accessed over the Internet. The software-as-a-service (SaaS) provider owns the software while the customers “rent the app” in a pay per use model. As web apps, they are used through a web browser so nothing needs to be installed locally. Cloud apps are generally architected to support multi-tenancy — enabling multiple customers (tenants) to be aggregated into the same application). Pricing is based on actual usage or per-user.
They seem similar, don’t they? Both types of apps are stored on a server and delivered through a browser interface over the internet. Cloud apps should have high availability (through mirrored installations in multiple locations) as a feature, while many web apps are limited in ability to support a fixed number of users. Cloud apps may offer extra security and integration with other systems via web services. Administrators of cloud apps can easily configure workload and traffic patterns in order to utilize the exact amount of infrastructure offered. Web applications are usually developed for a given platform, limiting scalability.
Mobile apps that access the same back-end over the internet would be considered cloud apps if the architecture and supporting infrastructure are cloud-based.
Wednesday, January 7, 2015
In this article, Are Legacy Cloud Providers Here to Stay?, we read:
What is the life-span of such providers? IMHO, quite long -- the incentive for switching from one provider to another is pretty low, assuming the provide meets SLAs. Here is a solid list of infrastructure-as-a-service (IAAS) providers.
When talking about the legacy cloud providers, the some common names usually come up. Amazon has become the leader in providing cloud services with its Amazon Web Services (AWS), jumping out to a dominant lead in terms of market share at 27 percent. That’s a larger share than its next four closest competitors combined. Microsoft with its Microsoft Azure service is second place with an 8 percent market share, though it is growing at the fastest rate of 154 percent, a much faster rate than AWS. IBM comes in third at 6.5 percent market share and a rate of growth of 80 percent. Combine these tech giants with Google, which is also in the top five, and it forms a clear picture of the level of competition for cloud computing customers.
What is the life-span of such providers? IMHO, quite long -- the incentive for switching from one provider to another is pretty low, assuming the provide meets SLAs. Here is a solid list of infrastructure-as-a-service (IAAS) providers.
Thursday, March 20, 2014
Still Making Electricity At Your Own Shop? I didn't think so...
In the long-ago past, businesses had to make their own electricity. So we learn in The Big Switch, by Nicholas Carr. He explains how the use of electricity shifted from on-premise systems -- companies had electricity departments, complete with electrical architects and managers, sort of like IT departments today -- to third-party electrical grids that businesses simply tapped into. Electricity went from an item on which a business focused half its time, attention, and labor to a simple utility it plugged into and paid for.
Does that sound familiar? Your IT department may perhaps be going the way of the on-site electrician. Much like water, gas, electricity and the phone company, the concept of computing as utility is emerging with the availability of storage and server virtualization, grid computing, and automated provisioning of platforms. Service oriented architecture takes complex business procedures that could profoundly transform the nature of organizations’ IT services, strategies and infrastructure, and opens up access to complex computing power. With the application of cloud computing there could be concealment of the complexity of service oriented architecture, reduction of operational expenses, and converting of IT costs to variable ‘on-demand’ services.
Now consider the connection between freelance or contract labor and cloud computing: it makes sense for companies to make labor a variable cost rather than a fixed cost. This shift can be seen in the growth in the on-demand labor market. Online staffing is a $1.5 billion-a-year industry; it’s growing 50 percent a year, and it’s projected to be a $20 billion industry by 2020, according to Work Market. With respect to IT workers in particular, one often reads about employers complaining that they can’t find the skills they need, and skilled IT workers complaining they can’t find a job. Of course, the concept of "digital sweatshop" must be considered, such as World of Warcraft farmers in Mexico.
In the ultimate Cloud scenarios, organizations will be able to acquire as much IT services as they need, whenever and wherever they need them. In the near future, labor could also be similarly networked. Taken with secure online apps, this would facilitate “agility-integration” of IT and labor resources within and between virtual companies.
Does that sound familiar? Your IT department may perhaps be going the way of the on-site electrician. Much like water, gas, electricity and the phone company, the concept of computing as utility is emerging with the availability of storage and server virtualization, grid computing, and automated provisioning of platforms. Service oriented architecture takes complex business procedures that could profoundly transform the nature of organizations’ IT services, strategies and infrastructure, and opens up access to complex computing power. With the application of cloud computing there could be concealment of the complexity of service oriented architecture, reduction of operational expenses, and converting of IT costs to variable ‘on-demand’ services.
Now consider the connection between freelance or contract labor and cloud computing: it makes sense for companies to make labor a variable cost rather than a fixed cost. This shift can be seen in the growth in the on-demand labor market. Online staffing is a $1.5 billion-a-year industry; it’s growing 50 percent a year, and it’s projected to be a $20 billion industry by 2020, according to Work Market. With respect to IT workers in particular, one often reads about employers complaining that they can’t find the skills they need, and skilled IT workers complaining they can’t find a job. Of course, the concept of "digital sweatshop" must be considered, such as World of Warcraft farmers in Mexico.
In the ultimate Cloud scenarios, organizations will be able to acquire as much IT services as they need, whenever and wherever they need them. In the near future, labor could also be similarly networked. Taken with secure online apps, this would facilitate “agility-integration” of IT and labor resources within and between virtual companies.
Subscribe to:
Posts (Atom)

