Of course, any architecture is a trade-off between competing forces, and context is all important. In my own case, the two main monoliths I've been involved with are enterprise web apps, which are accessed in-house. For the last 13 years, I've worked on a large government benefits administration application running on .NET, and for the last five years I've also worked on an invoicing system running on Java. Both systems are monoliths in the sense that most of the business logic is in a single deployable webapp. I'm sure that many other visitors to the InfoQ website work on similar systems. ... In breaking up the application into modules, we should also ensure that the dependencies between modules are in one direction only: the acyclic dependencies principle. We'll talk shortly about how to enforce such constraints; whatever the tooling used to enforce these rules
One of the favorite stories in Science Fiction is of a future where robots are so advanced that they have taken on human characteristics and act as advanced servants. Boston Dynamics currently make the most advanced robot displaying this, able to move freely and interact in many ways with people. But even SciFi have difficulty imagining a world where robots can come up with their own ideas. This world is closer than you may think. In the not too far future machines and robots will not only become more advanced, they will also begin to exhibit aspects of Creativity, and may soon exceed people in the ability to produce simple creative outputs. However, while I believe robots will be able to imitate a human’s ability for crafting creative work, I don’t believe this is the same as true creativity.
A challenge and a huge opportunity remains for those enterprise software and services companies that have the technology and tools available to help people and businesses make sense of, analyze, and harness the tsunami of data that we are about to be engulfed by. Here’s the real business potential to add value through IoT: Companies in almost every industry will transform into digital businesses which means oversight must be powered by real-time data – fed in large part by sensors. As Herzberg, says, the beauty of sensors that they bring real-time data to applications: “Customers run applications for business critical processes, which could run better with real-time awareness.” Big Data analytics and machine learning will deliver personal and business insights and will enable us to make immediate decisions based on that data – rather than relying as we have in the past, on guesswork or out-of-date forecasts.
Bremeau says he expects any Metadata Management software today to be able to connect to live databases, data integration servers, and BI servers as well. “My advice, in general, is always to start from the end – from the business [intention] side – and that’s what people hate to do.” He says he prefers to start with the business users because, “That’s basically going to get them excited, if you can start from their Business Intelligence reports,” he said. “If you’re buried inside your ETL, and work for weeks, you will still have nothing to show” to your business users. “At the center of this, you’re going to go to your Data Warehouse and bring everything in,” which, Bremeau said, is not as simple as it sounds. When the data comes in – no matter what products or tools are used,
Digital Transformation is not a new idea. It has now reached mainstream acceptance with with the maturity of technologies such as Social, Mobile, Analytics & Cloud. Success stories of Digital Transformation in the enterprise have always involved people, process, and technology. In this blog, we will focus on technology and more specifically on the evolution of enterprise application and infrastructure architecture in organizations embracing Digital Transformation. ... Transforming existing custom apps into Microservices involves disaggregating the application tier into a number of Microservices and hosting them on PaaS or CaaS. Another major consequence with this architectural change is that traffic between services, which in the past was contained within the application server, now occurs between microservices connected by the data center network.
To test a service is to ascertain that the service meets its requirements. You may be tempted to apply a uniform testing approach to all the services. This is a bad idea. It is better to decide on the approach by service category or even case by case. For application services, testing is an integral part of the best practices of software engineering. The software requirements are most likely defined with Use Cases, which is a concept very closely aligned with application services. ... For technology services, the requirements are often just a technical specification of required resources such as the operating system, storage space and network connectivity. Building and maintaining such services are very different from application services. Infrastructure specialists often react negatively if you
Providers such as Heroku, Google Cloud Functions and AWS Lambda really make the concept of securing your systems more interesting when you don’t have any servers to run your code on. These are often referred to as "serverless" - your code executes inside a provider on systems that you likely don’t have any control over. In many ways, this can help make you more secure as you are reducing the number of endpoints you need to secure. But in the end this pushes your security challenges over to the provider themselves. AWS uses their Identity and Access Management (IAM), meaning you are now in full control of providing access to your functions. You need to ensure the security is as least-privilege as possible. Additionally, your code needs to get to the provider somehow, which means you'll be running systems that do the continuous integration and deployment
Organizations are increasingly attempting to remedy these complexities with virtualization technologies, in which data is made available as an abstraction layer accessible to various parties from distinct locations. Containerization represents the next level of virtualization technologies and may be the most viable means of effecting the flexible agility required to provision, analyze, and reap the benefits of real-time application data in a post-IoT world. Meanwhile, running those applications as microservices could very well be the best means of creating and deploying them in time to account for the IoT’s extreme volumes and velocities of data, especially when they are leveraged within containers. “I think there’s a natural progression there and maybe some of the more forward thinking companies will say hey, this all fits together; I can do this right away,” MapR Senior Director of Industry Solutions Dale Kim said.
Where personal data is left identifiable, it’s remarkable what can be achieved, with China being the poster child for this sort of application. In some cities in Xinjiang Province, for example, drivers have been ordered to install satellite navigation equipment in their vehicles. And more everyday applications are starting to emerge. “With Transport for London, for example, you have an Oyster card, but when you go to China now they’re using facial recognition,” says Mr McGloin. “They can accept that over there.” Last year, the main railway station in Beijing started trialling facial recognition technology to verify the identity of travellers and check their tickets are valid for travel. In the city of Yinchuan, meanwhile, a passenger’s face is linked to their bank account, enabling bus passengers to pay automatically simply by having their faces scanned.
On the architectural level, bimodal IT takes advantage of emerging tools and platforms for agile customer-facing frontend systems while also running the traditional stable, mission-critical backend systems. This results in a duopoly of business-critical scale-up applications running on one stronger computer and scale-out applications distributed on several regular computers for reacting to changed or new business or technological conditions in the short term (Pfützner 2015). The required flexibility is enabled by virtualizing data and resources in a composable modular infrastructure for traditional IT and digital IT (Greiner 2015), partially with the aid of infrastructure respectively platform as a service cloud-based solutions. Companies often use private clouds for traditional IT
Quote for the day:
“The last 10% it takes to launch something takes as much energy as the first 90%.” -- Rob Kalin