Business developed based on Cloud Architecture and Platforms delivering ideas and innovative with high velocity and disrupting traditional business models
A business idea in the morning, live in production by evening! Microservices & Cloud Native Architecture Disrupting Traditional Business Models By: Ammad Amjad
Traditional Business App Model • monolithic in nature, less agility and bigger release cycles • ultimately evolves into “big ball of mud” • depending upon underlying OS, hardware, storage and backing services. • usually locked-in into one technology or language • limited re-usability • hard to maintain, test and longer release recycles to production, all this adds to cost • not designed to scale well • waterfall approach, or Agile waterfall scrum approach • many approval levels and still usually high risks when deploying to production • technology was second class citizen
Millions of users becoming online (http://www.internetworldstats.com/emarketing.htm) • 1995 16 millions .4% of world population • Dec 2000 361 millions 5.8% • Dec 2005 1018 millions 15.7% of world population • Dec 2011 2267M 32.7% • Dec 2017 over 4000M over 51% of current world population Businesses not providing online services with high availability will be soon completely out of market Monolithic apps cannot compete due to all listed disadvantages Technology has changed everything
Cloud-Native Apps Technology is • at core of their business • first class citizen • Innovation and experimenting new ideas are valued • Speed / velocity of delivery of new features are key for success • High availability and scalability that could native platform provides In the age of software, businesses that can quickly build and deliver apps in response to customer needs will dominate their industries Look at • Uber, the world's largest taxi service provider, owns no car • AirBNB, the world's largest accommodation provider, owns no property • Facebook, world's largest social media company, creates no contents New Business Model
Businesses need to fundamentally change • the way it builds and deploys software solution in order to succeed in the hugely competitive markets that exist today • today, cloud native platforms provide the most compelling way to enable that fundamental shift Cloud-Native Platform How?
Cloud-Native • a standard approach to building, deploying and running applications • provides the ability to take the advantages of the cloud computing • cloud-computing platform offers nearly limitless on-demand computing power Cloud Native App • apps, build on principles of cloud-native approach, presents small independent business capability (a microservice) • deployed and run on cloud-native platform • greater agility, resilience, and portability across cloud environments • fully exploits the limitless power of cloud computing platform • new ideas to market faster and responding to customer needs very quickly
Could Native Platform provides tools • easy to use and eliminates the heaving lifting of - Provisioning VMs, middleware, and databases - Creating and orchestrating containers - User management - Load balancing and traffic routing - Centralized log aggregation - Scaling - Security auditing - Providing fault tolerance and resilience • IT operations are managed and controlled with full visibility, built-in resiliency, security, centralized user management, aggregated metrics and logging • Easy to release and deploy / stand up applications of business capabilities • Increase developer productivity Cloud-Native Platform
Native Cloud Platform A platform for • building and operating cloud-native apps • services that automates and integrates the concepts of DevOps, continuous delivery, micro-services, and containers. With cloud native platform, it has become very easy to add features based on customer feedback and experiment new innovative ideas.
• Free and open source PaaS • Supports many languages including but not limited to Java, Go, Node-JS, PHP, Python, Ruby, .NET and others • Highly customizable and eliminates the vendor lock-in • Helping businesses to become more agile • Huge cost saving, increased developer productivity • A platform optimized for developing twelve-factor cloud native applications • Automated recovery / self heeling • Easy to release and deploy • Enterprises access to a continuous stream of innovation – Netflix microservices stack Cloud Native Platform
MICROSERVICES (Cloud Native Apps) • Decomposed monolithic business systems into independently deployable services that do “one thing well” • “one thing well” usually represents a business capability, or the smallest, “atomic” unit of service that delivers business value Limiting the scope of failure • limiting the scope of testing • quick and easy deployment Increased velocity of innovation and delivery • an idea in the morning, is running in production by the evening
Elasticity • the ability to dynamically scale up and down to handle concurrent demand Self-service • the ability to automatically get provisioned and un-provisioned directly without any manual time consuming ticketing Self-healing • Defects and recover the failed instances of the apps ELASTIC RUNTIME (continues)
OPERATIONS MANAGER Traditionally IT operations are usually tasked with maintaining the desired levels of • availability • resiliency • performance • durability With Organizational IT operations mission was to resist and prevent “change”. With the help of DevOps, the goal is to break the organizational siloes and work as business capability teams and platform team with same goals. By automating IT operations, enterprises can transform into a lean, focused team aligned with driving business priorities. They eliminate the risk of failure due to human error as staff focus on automated improvements to replace routine, mundane admin tasks.
HIGH AVAILABILITY Challenges/problems • peak load time • outages - product upgrades - platform upgrades - natural disaster Solutions • cloud-native apps with built-in scaling (Vertical and Horizontal) • multiple availability zones • blue-green deployments is a characteristic of a system, which aims to ensure an agreed level of operational performance, usually uptime, for a higher than normal period.