O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Cloud Native Architectures

Book Description

Learn and understand the need to architect cloud applications and migrate your business to cloud efficiently

Key Features

  • Understand the core design elements required to build scalable systems
  • Plan resources and technology stacks effectively for high security and fault tolerance
  • Explore core architectural principles using real-world examples

Book Description

Cloud computing has proven to be the most revolutionary IT development since virtualization. Cloud native architectures give you the benefit of more flexibility over legacy systems. To harness this, businesses need to refresh their development models and architectures when they find they don't port to the cloud. Cloud Native Architectures demonstrates three essential components of deploying modern cloud native architectures: organizational transformation, deployment modernization, and cloud native architecture patterns.

This book starts with a quick introduction to cloud native architectures that are used as a base to define and explain what cloud native architecture is and is not. You will learn what a cloud adoption framework looks like and develop cloud native architectures using microservices and serverless computing as design principles. You'll then explore the major pillars of cloud native design including scalability, cost optimization, security, and ways to achieve operational excellence. In the concluding chapters, you will also learn about various public cloud architectures ranging from AWS and Azure to the Google Cloud Platform.

By the end of this book, you will have learned the techniques to adopt cloud native architectures that meet your business requirements. You will also understand the future trends and expectations of cloud providers.

What you will learn

  • Learn the difference between cloud native and traditional architecture
  • Explore the aspects of migration, when and why to use it
  • Identify the elements to consider when selecting a technology for your architecture
  • Automate security controls and configuration management
  • Use infrastructure as code and CICD pipelines to run environments in a sustainable manner
  • Understand the management and monitoring capabilities for AWS cloud native application architectures

Who this book is for

Cloud Native Architectures is for software architects who are keen on designing resilient, scalable, and highly available applications that are native to the cloud.

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Cloud Native Architectures
  3. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  4. Foreword
  5. Contributors
    1. About the authors
    2. About the reviewer
    3. Packt is searching for authors like you
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Conventions used
    4. Get in touch
      1. Reviews
  7. Introducing Cloud Native Architecture
    1. What are cloud native architectures?
    2. Defining the cloud native maturity model
      1. Axis 1 – Cloud native services
        1. A mature cloud vendor's services
        2. Cloud native services building blocks
        3. Cloud vendor managed service offerings
        4. Advanced cloud native managed services
        5. Cloud native services axis recap
      2. Axis 2 – Application centric design
        1. Twelve-factor app design principles
        2. Monolithic, SOA, and microservices architectures
        3. Cloud native design considerations
        4. Application centric design axis recap
      3. Axis 3 – Automation
        1. Environment management, configuration, and deployment
        2. Monitoring, compliance, and optimization through automation
        3. Predictive analytics, artificial intelligence, machine learning, and beyond
        4. Automation axis recap
    3. The cloud native journey
      1. The decision to be cloud-first
        1. People and process changes in the cloud
        2. Agile and DevOps
      2. Cloud operating environment
        1. Cloud operating foundation
        2. Hybrid cloud
        3. Multi-cloud
      3. Application migration at scale
        1. Lift-and-shift migration
        2. Re-engineer migration
        3. Cloud native companies
    4. Cloud native architecture case study – Netflix
      1. The journey
      2. The benefits
      3. CNMM
        1. Cloud native services axis
        2. Application centric design axis
        3. Automation axis
    5. Summary
  8. The Cloud Adoption Journey
    1. Cloud adoption drivers
      1. Moving fast and constraining costs
        1. Agility
        2. Cost
      2. Being secure and maintaining proper governance
        1. Security
        2. Governance
      3. Company expansion
      4. Attracting and retaining talent
      5. Cloud innovation and economies of scale
    2. The cloud operating model
      1. Stakeholders
      2. Change and project management
        1. Change management
        2. Project management
      3. Risk, compliance, and quality assurance
        1. Risk and compliance
        2. Quality assurance and auditing
      4. Foundational cloud operating frameworks and landing zones
        1. Cloud landing zone
          1. Account structure design
          2. Network design
          3. Central shared services
          4. Security and audit requirements
        2. External governance guidelines
          1. National Institute of Standards and Technology (NIST)
          2. Payment Card Industry Data Security Standard (PCI DSS)
          3. Health Insurance Portability and Accountability Act (HIPAA)
          4. Center for Internet Security (CIS)
    3. Cloud migration versus greenfield development
      1. Migration patterns
        1. Rehost
        2. Replatform
        3. Refactor
      2. Migrate or greenfield development?
    4. Summary
  9. Cloud Native Application Design
    1. From monolithic to microservices and everything in between
      1. System design patterns
        1. Monolithic
        2. Client server
        3. Services
          1. Service-oriented architectures (SOAs)
          2. Microservices
          3. Why services matter
    2. Containers and serverless
      1. Containers and orchestration
        1. Registries
        2. Orchestration
        3. Container usage patterns
          1. Microservices with containers
          2. Hybrid and migration of application deployment
        4. Container anti patterns
      2. Serverless
        1. Scaling
        2. Serverless usage patterns
          1. Web and backend application processing
          2. Data and batch processing
          3. System automation
        3. Serverless anti patterns and concerns
    3. Development frameworks and approaches
    4. Summary
  10. How to Choose Technology Stacks
    1. Cloud technology ecosystems
      1. Public cloud providers
      2. Independent software vendor (ISV) and technology partners
        1. Customer managed products
        2. Software as a Service
      3. Consulting partners
        1. Niche SI partners
        2. Regional SI partners
        3. Global SI partners
    2. Procurement in the cloud
      1. Cloud marketplaces
        1. Marketplace and service catalogs
        2. Cloud marketplace anti-patterns
      2. Licensing considerations
        1. Cloud vendor pricing models
          1. Example - AWS Lambda pricing
        2. Open source
    3. Cloud services
      1. Cloud services – vendor versus self-managed
        1. Self-managed approach
        2. Managed cloud services
        3. Vender lock-in
      2. Operating systems
        1. Windows versus Linux
        2. Do operating systems really matter any longer?
    4. Summary
  11. Scalable and Available
    1. Introduction to the hyper-scale cloud infrastructure
    2. Always-on architectures
    3. Always-on – key architectural elements
      1. Network redundancy
      2. Redundant core services
      3. Monitoring
      4. Infrastructure as Code
      5. Immutable deployments
    4. Self-healing infrastructures
    5. Core tenets
    6. Service-oriented architectures and microservices
    7. Cloud-native toolkit
      1. Simian Army
      2. Docker
      3. Kubernetes
      4. Terraform
      5. OpenFaaS (Function as a Service)
      6. Envoy
      7. Linkerd
      8. Zipkin
      9. Ansible
      10. Apache Mesos
      11. Saltstack
      12. Vagrant
      13. OpenStack projects
    8. Summary
  12. Secure and Reliable
    1. Security in a cloud native world
    2. Security at every layer
    3. Cloud security services
      1. Network firewalls
      2. Logs and monitoring
        1. Network logs
        2. Audit logs
        3. Monitoring tools
      3. Configuration management
      4. Identity and access management
      5. Encryption services and modules
      6. Web application firewalls
      7. Compliance
      8. Automated security assessments and DLP
    4. Cloud native security patterns
      1. Identities
      2. Mobile security
    5. DevSecOps
    6. Cloud native security toolkit
      1. Okta
      2. Centrify
      3. Dome9
      4. Evident
    7. Summary
  13. Optimizing Cost
    1. Before the cloud
    2. Cloud cost view
    3. Cloud economics
    4. CapEx versus OpEx
    5. Cost monitoring
    6. Tagging best practices
    7. Cost optimization
      1. Compute optimization
      2. Storage optimization
    8. Serverless implications
    9. Cloud native toolkit
      1. Cloudability
      2. AWS Trusted Advisor
      3. Azure Cost Management
    10. Summary
  14. Cloud Native Operations
    1. Before the cloud
    2. The cloud native way
    3. Cloud native development teams
    4. Two-pizza teams
    5. Cloud-managed service providers
    6. Operations with IaC
    7. The cloud native toolKit
      1. Slack
      2. Stelligent cfn-nag
      3. GitHub
    8. Summary
  15. Amazon Web Services
    1. AWS' cloud native services (CNMM Axis-1)
      1. Introduction
      2. AWS platform – differentiators
        1. KRADL services
        2. AWS native security services
        3. Machine Learning/Artificial Intelligence
        4. Object storage (S3, Glacier, ecosystem)
    2. Application centric design (CNMM Axis-2)
      1. Serverless microservice
        1. API trigger
        2. Function
        3. Service
      2. Serverless microservice – sample walkthrough
        1. AWS Lambda function creation and configuration
        2. Configuring the Amazon API Gateway
        3. Setting up a Weather Service Account
        4. Testing the service
        5. Deploying the API
      3. Serverless microservice automation using AWS SAM
        1. SAM YAML template
        2. API definition Swagger file
        3. AWS Lambda code
        4. AWS SAM usage
    3. Automation in AWS (CNMM Axis-3)
      1. Infrastructure as code
      2. CI/CD for applications on Amazon EC2, Amazon Elastic Beanstalk
      3. CI/CD for serverless applications
      4. CI/CD for Amazon ECS (Docker containers)
      5. CI/CD for security services – DevSecOps
    4. Patterns for moving off monolithic application architectures to AWS native architectures
    5. Summary
  16. Microsoft Azure
    1. Azure's Cloud Native Services (CNMM Axis-1)
      1. Microsoft Azure platform – differentiators
        1. Azure IoT
        2. Azure Cosmos DB
        3. Azure machine learning studio
        4. Visual Studio Team Services
        5. Office 365
    2. Application Centric Design (CNMM Axis-2)
      1. Serverless microservice
      2. Serverless microservice – walkthrough
        1. Browser-based testing
        2. Command-line-based testing
    3. Automation in Azure (CNMM Axis-3)
      1. Infrastructure as code
      2. CI/CD for serverless applications
      3. CI/CD for Azure container service (Docker containers)
    4. Patterns for moving from monolithic application architectures to Azure native architectures
    5. Summary
  17. Google Cloud Platform
    1. GCP's cloud-native services (CNMM Axis-1)
      1. Introduction
      2. Google Cloud Platform – differentiators
        1. Cloud AI
        2. Kubernetes Engine
        3. G Suite
    2. Application Centric Design (CNMM Axis-2)
      1. Serverless microservice
      2. Serverless microservice – sample walkthrough
    3. Automation in the Google Cloud Platform (CNMM Axis-3)
      1. Infrastructure as code
      2. CI/CD for serverless microservices
      3. CI/CD for container-based applications
    4. Patterns for moving off from monolithic application architectures to Google cloud native architectures
    5. Summary
  18. What's Next? Cloud Native Application Architecture Trends
    1. Predictions for the next three years – what to expect in terms of cloud native architecture evolution
      1. Open source frameworks and platforms
      2. Increased abstraction from infrastructure services
      3. Systems will become smarter and AI/ML driven, starting with DevOps and moving on to NoOps
      4. Developers will natively develop new applications in the cloud, instead of first developing locally
      5. Voice, chatbots, and AR/VR-based interaction models will become prevalent, mainly powered by the cloud
      6. Cloud native architectures will expand beyond data centers to "things"
      7. Data will continue to be new "oil"
    2. The future of enterprises on the cloud
    3. New IT roles
    4. Summary
  19. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think