‘Digital Transformation’, do a reality check firstWednesday, September 18, 2019
Realty Check: 4 stages to Application modernisation, or ‘Digital Transformation’ and why Enterprise Architects are important KTA: Stop reading the Gartner Group. You will be happier, less confused, wealthier, and your buzzword-BS radioactive meter will drop significantly. Going Cloudy does not need to be a dive into the deep end. Modernising applications will usually go through a set of stages, starting with Cloud re-platforming, then optimisation on the new Cloud platform, followed by refactoring, perhaps re-architecting and with some client facing digital applications which are monetised, perhaps a rebuild using Cloud-Native techniques. Many applications do not need ‘Cloud Native’, do not require complex rebuilds because they are static, not client facing and the monolith serves the business and process, just fine. Of course, the application, logic, code, database code and associated frameworks need to be kept up to date, along with the web-server and database versions. But it is ridiculous to impose ‘Cloud Native’ on applications that don’t need it. Keep your Perspective There is no ‘single’ right or wrong path, approach or model in deploying applications to the Cloudy. A lot will depend on time, budget, resources, urgency, type of applications, industry, and compliance requirements. Virtual Machines are valid, as are containerisation of existing applications and moving both over to the Cloud. Cloud-Native or ‘Digital Transformation’ may also be required if your business, competition, and client demands necessitate such an approach, with inherent scalability, new features, or constantly changing requirements demanding new versions premised on Agile and integrated, automated development, testing, deployment and operational support. Reality Check Most applications do not however, need to be Cloud-Native. That is simply a myth. The business-IT-client use cases do not demand it. You are not Netflix, nor Amazon. And yes that Cloud presentation on ‘push button’ something or other was amazing, but it was probably falsified and the real system had a budget of $10 mn which is $ 9mn more than you have. Polyglot In reality larger firms will be using many different approaches and Cloud platforms depending on the use case and context. Virtual Machines on both Windows and Linux (best to standardised on a particular OS for each), Containers, and Cloud-Native new builds will all co-exist, along with different database varieties – SQL, MySQL, server-less Databases, Mainframes and NoSQL. Enterprise Architects Architectures will become more complex, not less, and issues around data, data security, data management, data charges, networking, network security and environmental management will become (indeed are already for many firms), key pain points to remediate. This complexity makes it clear that skilled Enterprise Architects working within a Domain and with Subject Matter Experts, will increase in importance. Iterative Designs, Pilots and assessments, premised on Agile are of increasing relevance, as the IT stack shifts to a complicated virtualised and on-demand set of models. Hybrid architectures and multi-cloud (including sprawl) deployments are a fact for large enterprises. Digital Cloudy In the context of Digital Transformation, which is only one aspect of Cloud Computing, there are four stages to gain a competitive edge. Simplify with containers Putting existing applications into containers orchestrated by Kubernetes or similar. These containers can be self-managed eg. Docker, or ECS on AWS, or platform managed such as Fargate. This is the first step to simplifying application deployment and management. Containers encapsulate the application with minimal or no changes to the application itself, enabling consistent testing and deployment that reduces costs and simplifies operations. Extend with APIs Extend existing applications with APIs which securely expose their full capabilities to developers allows for de-composed architectures, separating producers and consumers and giving you the flexibility to change parts of your system without having to rewrite the entire stack. The applications therefore become reusable across clouds to easily access and build new capabilities. Beyond APIs, this approach relies on an agile integration strategy that supports the volume of connections and variety of architectures required. Decompose with microservices Use microservices to break down monolithic applications into deployable components, where each component performs a single function. Businesses can then further enhance development agility and efficiency by putting each microservice in its own container. Using Kubernetes, companies can then manage and deliver the microservices of existing applications. Refactor with new microservices Refactoring involves building new microservices. In some instances, it may be easier to develop new applications utilizing cloud-native development practices instead of working with a current monolith. This provides teams with the ability to deliver innovation to users, encourage creative thinking and allow developers to experiment in a low-risk fashion. The above is a sensible approach which over time may lead to a Cloud-Native refactoring approach. Firms need to have criteria checklists and a realistic appraisal of applications – what are they, who do they serve, what is the elasticity of usage, what type of firm is it, what is the market, how much is the system being monetised, what resources and skills per cloud platform does it possess, budget, time, security, compliance and other constraints. Many applications simply don’t need to be Cloud-Native. Maybe 20% of applications are candidates. ==END
Networking Virtualisation, an overviewWednesday, September 11, 2019
There are critical concepts which undergird network virtualization, and in particular market-leading products or platforms such as VMware NSX (network virtualization), including a multi-hypervisor, multi-cloud management network virtualization platform and approach. All of which are becoming more important in the general market, as the entire IT Stack becomes virtualised.
Migrating an estate out of an existing Data CentreSunday, September 08, 2019
Migrating an entire estate out of a Data-Center or Co-Location facility is difficult. The most cited reasons are usually: ~Projects exceed time, budget, migration windows ~End user disruption ~Planning phase usually induces a delay, once the complexity and inter-dependency is properly scoped ~Planning around downtime mitigation can entail a long delay in the migration ~Lack of resources ~Stakeholder conflicts or inattention ~Target operating model and platform not built, not properly understood
Example of a failed Micro-Services project and why Monoliths are validMonday, August 19, 2019
It is simply a myth that ‘all firms’, and ‘all projects’, ‘must’ move to a Micro-Services ‘model’ of development and deployment. That is lunacy. Monoliths are completely valid in the proper context of domain, business logic, functionality, number of end-users (stable, not that variable), skills, budget and time
The Cloud and the IT Stack by layerMonday, August 12, 2019
The IT Stack. Cloud computing encompasses the entire IT Stack. This needs to be kept in mind when deploying applications, looking at dependencies, modelling security, assessing non-functional requirements, and mapping out systems integration, testing, coding and deployments. Most firms have a Cloud-governance mess, with silos, sprawl and uncontrolled costs. Configuration drift and not implementing standard best-practices or key principles across environments is also a common issue.