AI foundation: Last year, the organization included artificial intelligence and machine learning as its own trend on the list, but with AI and machine learning becoming more advanced, Gartner is looking at how the technology will be integrated over the next five years. “AI techniques are evolving rapidly and organizations will need to invest significantly in skills, processes and tools to successfully exploit these techniques and build AI-enhanced systems,” said David Cearley, vice president and Gartner Fellow. “Investment areas can include data preparation, integration, algorithm and training methodology selection, and model creation. Multiple constituencies including data scientists, developers and business process owners will need to work together.”Intelligent apps and analytics: Continuing with its AI and machine learning theme, Gartner predicts new intelligent solutions that change the way people interact with systems, and transform the way they work. Intelligent things: Last in the AI technology trend area is intelligent things. According to Gartner, these go beyond rigid programming models and exploit AI to provide more advanced behaviors and interactions between people and their environment. Such solutions include: autonomous vehicles, robots and drones as well as the extension of existing Internet of Things solutions. Digital twin: A digital twin is a digital representation of real-world entities or systems, Gartner explains. “Over time, digital representations of virtually every aspect of our world will be connected dynamically with their real-world counterpart and with one another and infused with AI-based capabilities to enable advanced simulation, operation and analysis,” said Cearley. “City planners, digital marketers, health care professionals and industrial planners will all benefit from this long-term shift to the integrated digital twin world.”Cloud to the edge: According to Gartner, edge computing is a form of computing topology that processes, collects and delivers information closer to its source. “When used as complementary concepts, cloud can be the style of computing used to create a service-oriented model and a centralized control and coordination structure with edge being used as a delivery style allowing for disconnected or distributed process execution of aspects of the cloud service,” said Cearley.Conversational platforms: Conversational platforms such as chatbots are transforming how humans interact with the emerging digital world. This new platform will be in the form of question and command experiences where a user asks a question and the platform is able to respond. Immersive experience: In addition to conversational platforms, experiences such as virtual, augmented and mixed reality will also change how humans interact and perceive the world. Outside of video games and videos, businesses can use immersive experience to create real-life scenarios and apply them to design, training and visualization processes, according to Gartner. Blockchain: Once again, blockchain makes the list for its evolution into a digital transformation platform. In addition to the financial services industry, Gartner sees blockchains being used in a number of different apps such as government, health care, manufacturing, media distrubtion, identity verification, title registry, and supply chain. Event driven: New to this year’s list is the idea that the business is always looking for new digital business opportunities. “A key distinction of a digital business is that it’s event-centric, which means it’s always sensing, always ready and always learning,” said Yefim Natis, vice president, distinguished analyst and Gartner Fellow. “That’s why application leaders guiding a digital transformation initiative must make ‘event thinking’ the technical, organizational and cultural foundation of their strategy.”Continuous adaptive risk and trust: Lastly, the organization sees digital business initiatives adopting a continuous adaptive risk and trust assessment (CARTA) model as security becomes more important in a digital world. CARTA enables businesses to provide real-time, risk and trust-based decision making, according to Gartner. With 2017 drawing to a close, Gartner is looking to the future. The organization announced its annual top strategic technology trends at the Gartner Symposium/ITxpo this week.The basis of Gartner’s trends depends on whether or not they have the potential to disrupt the industry, and break out into something more impactful. The top 10 strategic technology trends, according to Gartner, are: “Gartner’s top 10 strategic technology trends for 2018 tie into the Intelligent Digital Mesh. The intelligent digital mesh is a foundation for future digital business and ecosystems,” said Cearley. “IT leaders must factor these technology trends into their innovation strategies or risk losing ground to those that do.”To compare, last year’s trends are available here. In addition, the organization also announced top predictions for IT organizations and users over the next couple of years. The predictions include: early adopters of visual and voice search will see an increase in digital commerce revenue by 30% by 2021; five of the top seven digital giants (Alibaba, Amazon, Apple, Baidu, Facebook, Google, Microsoft and Tencent) will willfully self-disrupt by 2020; and IoT technology will be in 95% of electronics by 2020.
Perforce is bolstering its testing portfolio with the acquisition of Perfecto Mobile. Perforce is a Clearlake Capital Group backed enterprise DevOps solution provider. The addition of Perfecto will enable the company to provide cloud-based continuous automated testing for enterprise mobile and web apps.“With this strategic acquisition, Perforce is well positioned to capitalize on the significant market trends around demand for continuous testing from enterprise DevOps teams,” said Prashant Mehrotra, a partner at Clearlake. “We are excited to continue our support of Mark and the Perforce management team as they drive consolidation in the industry and accelerate organic growth.”Perfecto offers mobile and web automation testing through its Continuous Quality Lab. The lab enables DevOps tools to release faster, improve quality and reduce cost with a cloud-based testing lab, the company explained. It features more than 3,000 devices in the cloud; the ability to test for web, mobile and IoT with a single script; wind tunnel persona-based testing; and enterprise-grade security.“The digital transformation is driving accelerated adoption of DevOps and its activities such as continuous integration, test automation and continuous delivery to more quickly capture and engage customers online. Our Continuous Quality Lab enables enterprises to remove bottlenecks and rapidly validate and deliver mobile and web applications that engage their customers,” said Eran Yaniv, Perfecto co-founder and CEO. “We are thrilled to join the Perforce team and are confident that this partnership provides us increased resources to capitalize on the continuous testing market opportunity.”
Evaluate system requirementsNot all areas of your system may need an overhaul. If it isn’t broken, don’t fix it. Invest in areas of the system that will provide the fastest solution to problem areas, such as performance, usability, and security.I recommend you conduct a thorough architectural assessment of your current product to determine where your existing strengths lie and what areas are in greatest need. If you discover significant structural or performance problems in all layers (UI, service, and data), then a complete overhaul may be the best answer for your product.Alternatively, an incremental approach might be best if you find your core system is stable and structurally sound, or even too complex to refactor all at once. This approach will enable you to focus on specific capabilities that can be decoupled, rewritten, and integrated back safely over time.Be mindful of current customer baseWhat are your current customers willing to wait for? Are they satisfied with the product as-is or are they begging for new features immediately? Do they have the patience to wait for an entirely new package? Perhaps they are willing to pilot or try new things in beta to provide you with real-time input along the way.As a recommendation, take the pulse of your customer base to understand their frustrations or concerns with the current product. Assess their tolerance level for change during a period of transition from one product to another. Gathering specific concerns can help you evaluate if customers will react positively to rapid, incremental improvements over waiting for a completely new product.Consider the organizational impact on your teamsIncreasing the complexity of the environment your teams will need to operate in the future — such as new infrastructure, tools, and mindset — can be stressful. Have your teams obtained the training and experience needed to be successful in the cloud? Do they know how to manage a distributed microservices architecture?Incremental approaches are best for organizations that have adaptable team members, who can take on the challenges of learning new technologies while at the same time supporting the older application. On the other hand, a greenfield approach would be better for teams that you feel are less flexible and receptive to change. This approach will allow you to build up a new team with the right skills to match the technology.Determine long-term support costsAre you prepared for the possibility of supporting multiple products at the same time? With a complete overhaul, it’s likely some customers will not want to migrate to the new product or use the new features.Regardless of approach, I recommend that you have a clear sunset strategy in place to keep your customers aware of the changes coming so they can smoothly transition from the old product to new. Proactively communicate with your customer base as to their product options in the future. This way, your current customers can prepare themselves for an eventual shift to the new product. It’s safe to say that microservices architecture is no longer an emerging new trend, but a mainstream software development strategy. Microservices aren’t just ideal for developing new applications, but are also optimal when modernizing legacy applications. Writing functionality into bite-sized, reusable components is more efficient and speeds up development. It delivers code that meshes well with container technologies running in distributed, cloud environments built for scale and high performance. By 2022, 90 percent of all applications will feature microservices architectures, according to 2018 research by IDC.The merits of microservices often outweigh the merits of other development methods, yet there are other critical decisions to make during modernization projects. If the product is tied to revenues or customer care, you’ll need to consider how to best protect the application’s related revenue streams.But where to begin?Let’s consider a common scenario. Your executive team has just approved funding to modernize the platform that has been successful for your company for many years. While it’s been a profitable product, it was built with a legacy tech stack using a monolithic architecture pattern that has become fragile and unpredictable, and nearly impossible to update at the pace today’s customer’s demand. During the modernization journey, protecting the success of the product is paramount.First, you’ll need to begin by setting your modernization strategy. There are some patterns and trends that have become very well accepted and can provide a solid foundation:Leverage the cloud for dynamic and flexible storage and computing power. Cloud Platform providers like Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure remove the burden of managing the day-to-day operations and enable teams to focus on creating new products and services.Continuous Integration and Continuous Delivery (CI/CD), along with containerization tools and practices, enable engineering teams to develop and deploy changes at a rapid pace. Additionally, they enable continuous testing throughout the development cycle to ensure quality is built in from the beginning.From an application design perspective, microservices patterns have emerged fitting almost any application or service capability, and have become an extremely common approach to building out new or refactoring existing functionality.Once the basic building blocks are in place, you now must determine the best way to approach modernization that will take your company well into the future, all while minimizing any disruption to current revenue growth or customer support cycles.Greenfield: One approach is to build a new parallel product from scratch that will eventually replace the legacy application. Some call this the greenfield approach. Your organization can start fresh with an entirely new technology stack and not worry about integrating older technologies. For a groundbreaking project where innovation is vital to success, this might be the best choice. The downside of using the greenfield approach is that you must convince customers to migrate to a new platform, which entails a learning curve and initiatives. At the same time, you have to support two platforms simultaneously for an unknown time period. That’s expensive and takes more time and resources.Iterative. Another approach is the iterative one: you can incrementally re-factor capabilities and add new ones over time to the existing system. Customers don’t have to change systems or learn a new interface, and they’ll also see new updates faster. They can choose to turn a new feature on or off, giving them the ultimate flexibility. Development teams receive earlier feedback from customers on these new features and the overall costs are lower. Approaching microservices in an iterative fashion can be more complex, however, due to the necessity of blending monolithic legacy technologies with new cloud and container technologies.The basic building blocks we already mentioned can be applied to both approaches. Microservices, cloud infrastructure, CI/CD, containerization and continuous testing all fit nicely.The advice below can help guide you toward the right path for your company and product and mitigate the challenges of moving to a microservices architecture.Tips for a successful microservices modernization project
The upcoming version on Python is on its way. The Python 3.8 beta cycle begun with Python 3.8.0b1 last month. Earlier this month, the second beta was released, making Python 3.8 feature complete.Python 3.8 will go through two more planned beta release previews before the official version is released in October. RELATED CONTENT: Top unicorns herd to PythonTIOBE predicts Python will replace Java as top programming languageNew report shows shakeup amongst top programming languagesAccording to the Python team, notable features in the upcoming version include: Assignment expressions: A new way of assigning variables within an expressionPositional-only arguments: A new syntax for specifying positional-only parameters in function definitionsRuntime audit hooks: For enhancing security of runtimes using auditing APIsPython Initialization Configuration: For more control over the configuration and better error reportingVectorcall: A fast calling protocol for CPythonPickle protocol 5 with out-of-band data: A new standardization of the pickle protocol version and accompanying APIs. Other features include: load_global performance improvements, f-strings support, ability to debug builds that share ABI as release builds, and a parallel filesystem cache for compiled bytecode. More information is available here. The Python team suggests developers and users start testing with the language now, during the beta phase, to ensure there are no issues when the 3.8 version is released. “We strongly encourage maintainers of third-party Python projects to test with 3.8 during the beta phase and report issues found to the Python bug tracker as soon as possible. While the release is planned to be feature complete entering the beta phase, it is possible that features may be modified or, in rare cases, deleted up until the start of the release candidate phase (2019-09-30). Our goal is to have no ABI changes after beta 3 and no code changes after 3.8.0rc1, the release candidate. To achieve that, it will be extremely important to get as much exposure for 3.8 as possible during the beta phase,” the Python team wrote. It is also important to note that Python has a new governance model that was implemented last year. A five-person steering council is being used to establish standard practices and introducing new features. “The council has broad authority, which they seek to exercise as rarely as possible; instead, they use this power to establish standard processes, like those proposed in the other 801x-series PEPs. This follows the general philosophy that it’s better to split up large changes into a series of small changes that can be reviewed independently: instead of trying to do everything in one PEP, we focus on providing a minimal-but-solid foundation for further governance decisions,” the team wrote in a post.