Chris Haddad examines,
Why you should consider Cloud-Native architecture components in your Enterprise Architecture.
What is DevOps impact on App and API design guidelines.
How API-centric focus revises Enterprise Architecture.
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and DevOps
1. Driving Enterprise Architecture Redesign:
Cloud-Native Platforms, APIs, and DevOps
Chris Haddad
@cobiacomm on Twitter
http://blog.cobia.net/cobiacomm
Read more about New IT Plan at
http://blog.cobia.net/cobiacomm/tag/it-business
2. Architecture Refresh Drivers
• The Breakup of the Corporation
• Connected Business
• The Now Generation
• The Long Tail
• The New Web
3. The Breakup of the Corporation
http://media.johnwiley.com.au/product_data/excerpt/67/04712507/0471250767.pdf
4.
5. The Now Generation
• Time to create project workspace
• Time to build, integrate, test
• Time to approve, promote
• Time to deploy, release
• Dwell time – time waiting for the
next operation to commence or
complete
http://blog.cobia.net/cobiacomm/2013/03/19/accelerating-business-agility-with-app-factory-devo
7. Web 1.0 Presentation
• Web sites
• Brochure-ware
• E-mail
• Mass marketing
• Static information delivery
Web 2.0 Transactional
• E-Commerce
• Social networks
• Software as a Service
• Search
• Recommendations and
status
Web 3.0 Community
• Massive Data-driven
• Mobile
• Ad hoc groups
• Self-Selection and Social
• Ecosystems
• Contextual and
Personalized
8/2/2013 7
The Web Evolves – New Paradigm
Social Community, Context, and Ecosystems
14. Who believes in Cloud-Native
Advantage?
• Service Providers who love money
– A major network device manufacturer offering
value-added network control services
– A telecommunications software provider
(OSS/BSS)
– A gaming company
– A major bank delivering a shared deployment
environment
15. Problem Statement:
How do we
Efficiently Collaborate and Streamline Processes?
Execute according to DevOps Principles
• Iterative
• Incremental
• Continuous
• Automated
• Self-service
• Collaborative
• Holistic
17. DevOps PaaS Differentiation
• Self service project and policy configuration
– Via project configuration portals
– Security, service levels, frameworks, usage, topology
• Automated platform provisioning
– Via service tier templates
– Framework and policy enforcement points (PEPs)
• Process automation
– Continuous build, test, and deployment
– Code promotion and synchronization across
environments and servers
• Dependency analysis and impact analysis
18. Effective Governance
Streamlines Processes
• Ensuring people do the right thing
• Make doing the right thing the easy path
– via automation!!
• Spans precepts, policies, people, and process
Governance applies to many domains
– Design and development
– Operational processes and run-time environment
– Organizational resources
• Effective governance requires a big picture view
of portfolio and dependencies
25. How do we support Joint Ventures and
the Value Web?
A Cloud-based, Digital Business Ecosystem Platform
– Cost-effective, development, collaboration, and
deployment infrastructure enabling a long tail of
application development
• Architecture templates and application platform services
– A shared environment for cross-organization
application development and delivery
• Governed, iterative lifecycle management across hybrid
clouds and composite applications
• IT Business performance metrics and analytics
– Infrastructure enabling user experience composition
across multiple disparate application providers
26. Ecosystem Architecture Focus
• Monetize assets based on business value
• Tenant/Consumer personalization and
isolation
• Sharing domain specific business capabilities
• Dynamic orchestration and composition
27. Cloud Ecosystem Platform Architecture Components
8/2/2013 27
WSO2
App
Factory
Your Core
Business
Capability
3rd Party Partners
DevOps Forge and
Governance
Cloud DeploymentApp Store
Personalized SaaS
Solution
Your Digital
Business
Ecosystem
28. Who is building an Ecosystem
Platform with WSO2?
• An aerospace company
• A mobile device manufacturer
• A connected car consortium
• A construction software provider
• A telecommunications provider
29. Problem Statement: How do I encourage
internal and external business
collaboration?
Web 1.0
Destination Site
Web 2.0
Social Network
Site Activity
Web 3.0
Web API Driving
Interaction
30. In the Future Today, APIs Drive Everything
Source: http://www.ericsson.com/res/docs/whitepapers/wp-50-billions.pdf
32. Web 3.0: The Contextual Web and Cloud Ecosystems
Requires Personalization
Tenant / Consumer Personalization Dimensions
• Information access privileges
• Information aggregation and composition
• Social network access privileges
• Business processes and rules
• Service levels and Quality of Service
• Security policies
• Monetization rates
34. Brands Enhance Revenue
API brands build
mindshare
Mindshare increases
visibility
Visibility fosters
discovery and evaluation
Evaluation triggers
collaboration and API
adoption
API adoption builds
community
36. Your API Brand Platform
• Fully customizable look and feel
• Multiple Storefronts for multiple communities
• Multiple publisher groups
• Multiple Service Level Tiers
37. New IT Results
Agility Attributes
• Open Collaboration
• Micro-iterations
• User-led innovation
Measurements
• Industry Ecosystems
• Community and Context
• Decreased time to market
38. New IT Performance Metrics
Foundational performance metrics focus on
time to market.
Key metrics include:
– Time and effort to create new application
environment
– Time to redeploy application
– Time to promote application into a new lifecycle
phase
39. New IT Performance Metrics
Optimization performance metrics focus on
portfolio efficiency.
Key metrics include
– Ability to dynamically right-size infrastructure and
elastic scalability
– Ability to re-use existing platform services and
business services from resource pool instead of
re-building solution stack
40. New IT Performance Metrics
Transformational performance metrics focus on
productivity.
Key metrics include:
– Time and effort required integrating business
process, event processor – creating a complex app.
– Time and effort required to apply policy across
tenant(s)
– Cost to operate application per user or transaction
measured against the value provided by the
application or transaction.
41. WSO2: The only Open Source visionary in
all 3 application infrastructure categories
http://wso2.com/landing/gartner-compares-vendors-of-comprehensive-application-infrastructure-suites/
Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the
highest ratings. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims
all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose
42.
43. Recommended Reading
• The Path to Responsive IT
– http://wso2.com/whitepapers/the-path-to-
responsive-it
• DevOps Meets ALM in the Cloud
– http://wso2.com/whitepapers/devops-meets-alm-in-
the-cloud-cloud-devops-paas
• Cloud-Native Advantage
– http://wso2.com/whitepapers/cloud-native-
advantage-multi-tenant-shared-container-paas
• Promoting Service Re-use with API Management
– http://wso2.com/whitepapers/promoting-service-
reuse-within-your-enterprise-and-maximizing-soa-
success
Hinweis der Redaktion
High performance architecture is rapidly changing due to three fundamental drivers:Cloud-Native Platforms - change the way we think about operational infrastructureDevOps - changes application lifecycle practicesAPIs - change how we integrate and evolve infrastructure and applications, especially Mobile apps In this session, Chris will illustrate: Why you should consider Cloud-Native architecture components in your Enterprise ArchitectureWhat is DevOps impact on App and API design guidelinesHow API-centric focus revises Enterprise Architecture
In the abstract, business agility can be defined as your ability to rapidly change business vectors. A business vector is your business speed and direction. The direction may lead into nIew markets and new products, or engaging with new participants. Reducing time to IT solution delivery increases your team’s ability to adjust the business vector and match business opportunity.With adequate instrumentation, IT delivery agility can be quantified. Consider the following agility metric recommendations:Time to create project workspaceTime to build, integrate, testTime to approve, promoteTime to deploy, releaseDwell time – time waiting for the next operation to commence or completeAfter application project inception and before coding commences, systems administrators must create project workspaces. How long does your team wait before gaining access to source code management repositories, requirement management projects, and defect tracking projects?Moving code through build, integration, and test tools is often a time and labor-intensive process. The entire team waits while applications assets are built, integrated, and tested. When teams use iterative development processes, the wait time aggregates over several hundred or thousands cycles. How long does your team wait during build, integration, and test phases?When one team member finishes a task and the work enters an approval phase, how long does the team wait? After the work is approved to move through phase gate, how long before the project is promoted into the next phase?
Web4.0 predictive? Cooperative? Immersive? Social and Business Combine!
Architects are interested in delivering measurable business value, shielding IT personnel from complex dependencies, and deliver a productive development and operations (i.e. DevOps) environment. The following PaaS capabilities are used to achieve these objectives:DevOps ToolingAutomated GovernanceService Level ManagementConsumption based pricing “Cloud consumers of PaaS can employ the tools and execution resources provided by cloud providers to develop, test, deploy and manage the applications hosted in a cloud environment. PaaS consumers can be application developers who design and implement application software, application testers who run and test applications in cloud-based environments, application deployers who publish applications into the cloud, and application administrators who configure and monitor application performance on a platform. PaaS consumers can be billed according to, processing, database storage and network resources consumed by the PaaS application, and the duration of the platform usage.”Source: http://collaborate.nist.gov/twiki-cloud-computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf“For PaaS, the Cloud Provider manages the computing infrastructure for the platform and runs the cloud software that provides the components of the platform, such as runtime software execution stack, databases, and other middleware components. The PaaS Cloud Provider typically also supports the development, deployment and management process of the PaaS Cloud Consumer by providing tools such as integrated development environments (IDEs), development version of cloud software, software development kits (SDKs), deployment and management tools. The PaaS Cloud Consumer has control over the applications and possibly some the hosting environment settings, but has no or limited access to the infrastructure underlying the platform such as network, servers, operating systems (OS), or storage.”Source: http://collaborate.nist.gov/twiki-cloud-computing/pub/CloudComputing/ReferenceArchitectureTaxonomy/NIST_SP_500-292_-_090611.pdf
Cloud platforms exhibiting Cloud Native PaaS architecture provide an opportunity to increase business innovation and creativity. Cloud native platform solutions shield teams from infrastructure details and inject new behavior into the application.Cloud native PaaS architecture requires infrastructure innovation in provisioning, service governance, management, deployment, load-balancing, policy enforcement, and tenancy. Cloud native, innovative provisioning infrastructure increases tenant density and streamlines code deployment and synchronization. Multi-tenancy within middleware containers enables teams to customize applications and services per consumer by changing run-time configuration settings instead of provisioning new instances.A Cloud platform may automate governance and enforce policies (i.e. security, service level management, usage) through enterprise PaaS services. Cloud provisioning may fulfill enterprise deployment requirements across all service providers and technologies used by solution delivery teams.To re-invent the platform and achieve benefits, new Cloud Native platform architectural components and services are required. Traditional client-server and N-tier web application architectures do not exhibit requisite cloud characteristics (i.e. elastic scalability, multi-tenancy, resource pooling, or self-service). Figure 1 below depicts the new Cloud Platform architectural components and services. The PaaS controller layer deploys, scales, monitors, and manages an elastic middleware Cloud. PaaS Foundation services provide common solution building blocks. A complete, comprehensive, and Cloud-aware middleware container layer delivers new cloud-aware capabilities to business applications.The middleware container layer should not be tightly coupled to the PaaS foundation. Acartridge or droplet pattern is used to support running any application or service container on the PaaS. By providing a cartridge plug-point, Cloud Native PaaS environments can run any language, framework, or server (after appropriate integration via the cartridge API and agents).Elastic Load BalancerElastic Load Balancer (ELB) balances load across cloud service instances on-premise or in the cloud. The ELB should provide multi-tenancy, fail-over, and auto-scaling of services in line with dynamically changing load characteristics. Cloud Native Elastic Load Balancers are tenant-aware, service-aware, partition-aware, and region-aware. They can direct traffic based on the consuming tenant or target service. Cloud Native Elastic Load Balancers manage traffic across diverse topologies (i.e. private partitions, shared partitions, hybrid cloud), and direct traffic according to performance, cost, and resource pooling policies. A Cloud Native ELB is tightly integrated with the Service Load monitor component and dynamically adjusts to topology changes. Service Load MonitorThe Service Load Monitor component acquires load information from multiple sources (e.g. app servers, load balancers) and communicates utilization and performance information to an Elastic Load Balancer responsible for distributing requests to the optimal instances, based on tenant association, load balancing policies, service level agreements, and partitioning policies. When the level of abstraction is raised above Infrastructure as a Service (IaaS) instances, Teams no longer have direct access to specific virtual machines. New Cloud Native components are required to flexibly distribute applications, services, and APIs across a dynamic topology. A Cloud Controller, Artifact Distribution Server, and Deployment Synchronizer perform DevOp activities (i.e. continuous deployment, instance provisioning, automated scaling) without requiring a hard, static binding to run-time instances.Cloud ControllerA Cloud Native Cloud Controller (or auto-scaler) component creates and removes cloud instances (virtual machines or Linux containers) based on input from the Load Monitor component. The Cloud Controller right-sizes the instance number to satisfy shifting demand, and conforms instance scaling with quota and reservation thresholds (i.e. minimum instance count, maximum instance count). The Cloud Native Cloud Controller may provision instances on top of bare metal machines, hypervisors, or Infrastructure as a Service offerings (e.g. Amazon EC2, OpenStack, Eucalyptus).Artifact Distribution ServerThe Artifact Distribution Server takes complete applications (i.e. application code, services, mediation flows, business rules, and APIs) and breaks the composite bundle into per-instance components, which are then loaded into instances by a Deployment Synchronizer. The Artifact Distribution Server maintains a versioned repository of run-time artifacts and their association with Cloud service definitions.Deployment SynchronizerThe Deployment Synchronizer checks out and deploys the right code for each Cloud application platform instance (e.g. application server, Enterprise Service Bus, API Gateway). With infrastructure and servers abstracted and encapsulated by the Cloud, a Cloud Native PaaS Management Console allows control of tenant partitions, services, quality of service, and code deployment by either Web UI or command-line tooling.Cloud Native PaaS Architecture Business BenefitsCloud Native PaaS architecture accelerates innovation, increases operational efficiency, and reduces cost.The traditional, keep-the-lights-on, operational run-rate consumes precious resources and limits innovative new projects. By optimizing project footprint across pooled resources on a shared Cloud Native PaaS infrastructure, Responsive IT can reduce operational spend, improve total cost of ownership (TCO), and make more projects financially viable. Multi-tenant delivery models create an efficient delivery environment and significant lower solution deployment cost. For more information on the financial benefits of multi-tenant, Cloud Native platforms, read the white paper.By building a Cloud Native PaaS environment, you provide your teams with a platform to rapidly develop solutions that address connected business use cases (i.e. contextual business delivery, ecosystem development, mobile interactions). Recommended ReadingA Path to Responsive ITPaaS ServicesDoes your PaaS architecture show a paradigm shift?Cloud-aware Applications and PaaS Architecture
Apply DevOps activities across software development life-cycle phases (i.e. design, develop, test, build, deploy, manage). Teams use DevOps tools and processes to manage application construction and maintenance tasks. Iterative, incremental, continuous, automated, self-service
DevOps ToolingDevOps tooling creates an environment fostering collaboration between development and operations team members. Practice and tooling enable teams to implement self-service configuration, automated provisioning, policy configuration, and process automation practices which bridge the design, build, deploy, and manage phases within the software development life-cycle. By integrating DevOps tooling with on-demand resource instances, teams can reduce time to market and increase agility. A PaaS should not create another silo. The PaaS should Integratewith on-premise software development life-cycle toolingIntegratewith on-premise automated service governance tooling and policy repositories
Agile and DevOps principles must be applied across a cross-functional team and the entire lifecycle (e.g. project inception, design, development, deployment, and management).Operations activities related to deployment and release management often hinders agility and time-to-market. The level of effort required to deploy a real-world application is often non-trivial. Continuous deployment technology automates operations activities and replaces manual intervention.While dwell time sounds cozy and refreshing, excessive wait states and downtime between activities diminishes team efficiency and engagement. Automated notifications eliminate dwell time between hand-offs. Automated project workspace creation, Cloud environment provisioning, and on-demand self-service access reduces wait time between software development phases.A DevOps focus on continuous activity execution (e.g. continuous build, continuous integration, continuous test, continuous delivery) creates a ‘no wait’ environment. Teams do not have to wait for the next script to run or for the next activity to commence. By incorporating automation into developer and operations processes, teams bypass time consuming manual tasks and gain faster phase execution. Both DevOps and PaaS promote simple, on-demand self-service environments that shield team members from complexity and reduce skill hurdles. By offering on-demand self-service access, rapid business innovation and experimentation is possible. By reducing complexity, team members are not required to obtain special training and skills before consuming IT services and infrastructure.To read more about Enterprise DevOps PaaS accelerating team agility, read a recent blog post.
Need social networkingApp Factory ComponentsAppCommand: Enhance team collaboration and project visibility. Has two aspects to it – per application view and all projects view.DevOps-Forge: Reduce time to market, increase consistency, share software development environment across partnersCloud PaaS: Rapidly deploy applications into Cloud run-time, share infrastructure across multiple development teamsAppStore: Enable application users to find, subscribe, and personalize the application
Traditional application PaaS (aPaaS) environments do not help organizations build apps, but simply serve as a cloud run-time environment. DevOps PaaS brings no waits, faster phase execution, widespread accessibility, rapid grassroots innovation, and increased resource availability to IT projects.DevOps PaaS delivers development, test, and production run-time clouds that are integrated into development workspaces containing source code management, defect tracking, requirements management, test automation frameworks, and continuous build. Figure 2 describes the infrastructure topology underlying a DevOps PaaS.By automating software activities, workflow, and phase approval gates, a DevOps PaaS decreases software development and delivery times. A rapid IT timeframe closely matching today’s fast business-pace will accelerate revenue growth and enhance customer retention rates. A New IT model driven by DevOps PaaS will expand development team participation, lower IT cost, and increase business agility.Recommended ReadingDevOps Meets ALM in the CloudPaaS Performance MetricsMulti-tenant, shared container PaaS TCOWSO2 App Factory Product Page
eTrade: API, consumers must submit application for code review* compliance focus * *automation* enables long tail *Cloud is a game changing enabler use cases
People are shifting away from destination sites (e.g. Yahoo, Google Search, CNET, CNN) and social networks (e.g. Facebook, Twitter) towards accessing information and interacting with businesses using Web APIs and local apps
In the future, and in many cases today, APIs drive more than just your smartphone apps. APIs help network everything and everybody into an interconnected society. For example, package carriers (e.g. Fedex, UPS) seamlessly sending package track status information to both shippers and receivers. Connected vehicles will transmit performance information to owners, manufacturers, and repair specialists. Source: http://www.ericsson.com/res/docs/whitepapers/wp-50-billions.pdf
After we know where we are, and what we are looking to find, situational context may further influence API response and consumer actions. For example, on your way into the conference, did you check the traffic via an API and adjust your route?-----Image source: http://www.directoryofnewyorkcity.com/blog/2009/05/how-to-find-parking-in-new-york-city/Real-time traffic map: http://www.mapquestapi.com/traffic/
Open APIs are empowering developers by delivering business building blocks.Teams can rapidly compose solutions to meet shifting business demand by re-using Open Data and Open APIs. Teams are embracing long tail development communities that enable innovative business ecosystem strategies to emerge, with Open Data and Open API foundations.In a New IT operations model, instead of being a single-purpose delivery team, IT serves as a broker and validator of solution building blocks.Manage APIs for external value chain and customer use in mobile Apps. Establish tiers of service, track usage of APIs, social data collection, social data analytics, versioning. Also use internally to track internal re-use, ease of re-use, control access“Layer 7 and Wso2 Blend service integration and a good api Consumer experience. Most API management adopters among our clients will need to build their corporate platforms on existing systems and integration efforts. So they will need a good client app developer portal, traffic management sophistication, and the means to map, convert, and manage existing service endpoints.”** The Forrester WaveTM: API Management Platforms, Q1 2013 By Eve Maler and Jeffrey s. Hammond, February 5, 2013
API brands enable you to build mindshare with your target audience. Mindshare increases API visibility; visibility encourages individuals (and devices) to discover and evaluate your API. API evaluation triggers API adoption, and adoption realizes your goals (i.e. increased interaction and revenue growth). Execute a virtuous API branding cycle.
Look and feel strongly influences perception. Build a developer and end-user portal that matches your intended audience and desired brand image. Choose an API brand platform where you can customize the portal. This slide demonstrate how the WSO2 API Store was customized.
Open APIs are empowering developers by delivering business building blocks.Teams can rapidly compose solutions to meet shifting business demand by re-using Open Data and Open APIs. Teams are embracing long tail development communities that enable innovative business ecosystem strategies to emerge, with Open Data and Open API foundations.In a New IT operations model, instead of being a single-purpose delivery team, IT serves as a broker and validator of solution building blocks.Manage APIs for external value chain and customer use in mobile Apps. Establish tiers of service, track usage of APIs, social data collection, social data analytics, versioning. Also use internally to track internal re-use, ease of re-use, control access“Layer 7 and Wso2 Blend service integration and a good api Consumer experience. Most API management adopters among our clients will need to build their corporate platforms on existing systems and integration efforts. So they will need a good client app developer portal, traffic management sophistication, and the means to map, convert, and manage existing service endpoints.”** The Forrester WaveTM: API Management Platforms, Q1 2013 By Eve Maler and Jeffrey s. Hammond, February 5, 2013
When defining a roadmap to align IT’s pace with business agility expectations, establish IT team objectives that quicken IT solution development and delivery, offer new technology as on-demand shared services, and enhance your team’s ability to rapidly satisfy emerging business use cases (e.g. social collaboration, mobile application connectivity, ecosystem partnering).Open source PaaS, Open APIs, and Open Ecosystems are accelerating agility, empowering developers, and enabling innovative business strategies. In a recently published white paper, I describe how adopting a New IT plan can create a responsive IT team.The path to New IT requires moving away from traditional application platforms, traditional team structure, and traditional information flows. Responsive IT teams are adapting their infrastructure, processes and tooling to re-invent the application platform and re-think application delivery. The New IT architecture underlying Responsive IT intelligently incorporates Cloud Platforms, BigData Analytics, Enterprise DevOps, and API first development.