Skip to content

Latest commit

 

History

History
181 lines (136 loc) · 9.98 KB

1. Commerce Cloud Fundamentals.md

File metadata and controls

181 lines (136 loc) · 9.98 KB

Commerce Cloud Fundamentals

1.1 Describe the features and functions of Magento Commerce Cloud

What is Magento Cloud
Cloud platform overview and features

Magento Commerce Cloud is a managed, automated hosting platform for the Magento Commerce software. Magento Commerce Cloud comes with a variety of additional features that sets it apart from the on-premise Magento Commerce and Magento Open Source platforms: Cloud Benefits Magento Commerce Cloud provides a pre-provisioned infrastructure that includes PHP, MySQL, Redis, RabbitMQ, and Elasticsearch technologies; a git-based workflow with automatic build and deploy for efficient Rapid development and Continuous deployment every time you push code changes in a Platform as a Service (PaaS) environment; highly Customizable environment configuration files and tools; and AWS hosting that offers a Scalable and Secure environment for online sales and retailing. (https://devdocs.magento.com/guides/v2.3/cloud/bk-cloud.html)

Technology stack tech stack

Amazon Web Services (AWS) powers the underlying Infrastructure as a Service (IaaS) for Magento Commerce Cloud. Each Magento Commerce Cloud plan provides a PaaS Integration environment for developing, testing, and integrating services, see Magento Commerce Cloud architecture for a comparison and additional features. Performance tools provide granular visibility into the site performance and PHP profiling. Fastly caches site assets and, as customers access the site and stores, loads the cached assets fast. The Fastly Image Optimization (IO) offloads image processing and resizing load, freeing servers to process orders and conversions efficiently.

1.2 Determine how to locate settings with Cloud Admin UI

Locate project settings, user management, and project variables pages *

Log into the Project Web Interface at https://accounts.magento.cloud.

Project settings url

Project settings url: https://eu.magento.cloud/projects/{project_id}/edit

  • User management
  • Certificates
  • Deploy Key

    SSH key to access external private code repositories pulled during the build process.

  • Project variables

    These variables are made available at build-time and/or runtime in all environments of the project.

Locate environments, access links, and logs *

Access site

git

Logs can be filtered:

  • branch (branched from ..)
  • git (Name pushed to Production)
  • merge (Name merged Integration into Staging)
  • snapshot (Name created snapshot project_id-integration-hash of Integration - restore)
  • sync (synced with the parent)
  • system (env variables, user management, routes, )

history

Locate environment settings

You can manage variables and settings for environments through this interface, or with CLI commands. Click Configure environment to create and manage environments. Manage environment settings

In the configuration page:

  • Settings
    • Change environment status (Enable/Disable)
    • Outgoing emails (On/Off)
    • Indexing by search engines (On/Off)
    • HTTP access control (Basic auth + IP address access control)
  • Environment-specific variables

    These variables will be available at runtime in this environment, and will be inherited by child environments.

  • Routes ?

    Routes allow you to set redirects or upstream settings for applications for your specific environment

  • Users ?

Settings

1.3 Demonstrate the ability to manage users *

Add SSH key *

Add a key using the CLI

magento-cloud ssh-key:add ~/.ssh/id_rsa.pub

ssh-key cli commands:

  ssh-key:add                  Add a new SSH key
  ssh-key:delete               Delete an SSH key
  ssh-key:list (ssh-keys)      Get a list of SSH keys in your account

Add a key using the Project Web Interface

  • In the upper right corner, click {your name} > Account Settings.
  • Account Settings
  • SSH Keys
  • Add a public key (Title, Key)
Add users to a project and manage their roles

Project-level roles:

  • Account owner
  • Project administrator (Super user)

    can change settings and execute actions on any environment, including creating and restoring snapshots

  • Project reader

    can view all environments in a project but cannot execute any actions on them

Environment-level roles:

  • Environment administrator

    can change settings and execute actions on this environment, including merging with the parent environment

  • Environment contributor

    can push code to this environment and branch the environment by default does not have SSH access to the environment (s. You can change the behavior in .magento.app.yaml by specifying access: ssh: contributor)

  • Environment reader

Manage users with the CLI

user:add                  Add a user to the project
user:delete               Delete a user from the project
user:get                  View a user's role(s)
user:list (users)         List project users
user:update               Update user role(s) on a project

After a new user is added to an environment, the environment must be rebuilt

1.4 Determine the difference between Magento Cloud plans *

Common features (for both plans):

  • Magento 2 CE(EE) core features
  • PayPal Onboarding Tool
  • B2B module
  • Fastly Content Delivery Network (CDN), Image Optimization (IO), and added security with generous bandwidth allowances
  • New Relic APM for 3 branches
  • Blackfire.io Enterprise
  • Platform-as-a-service (PaaS) optimized for Magento Commerce
  • 24x7 monitoring and email support for the core application and the cloud infrastructure
  • Dedicated technical account management for the initial launch period, starting with your subscription until your initial site launch
Starter plan vs. Pro differences
Starter Pro
Business Intelligence Essentials Business Intelligence Pro
4 total active environments 8 total active environments)
Platform-as-a-service (PaaS) based Production, Staging, and development environments Infrastructure-as-a-Service (IaaS)—dedicated virtual infrastructure for Production environments and for Staging environments (Dedicated hardware)
- High availability architecture with a three-server setup in the underlying Infrastructure-as-a-Service (IaaS) to provide enterprise grade reliability and availability
master branch for Production env production branch for Production env

1.5 Determine how different environment types operate

Determine differences in environment types: Integration, staging, production

Starter projects

Integration—The Integration environment provides three testable environments. Each environment includes an active Git branch, database, web server, caching, services, environment variables, and configurations.

Staging—As code and extensions pass your tests, you can merge your Integration branch to a Staging environment, which becomes your pre-Production testing environment. It includes the staging active branch, database, web server, caching, services, environment variables, configurations, and services, such as Fastly and New Relic.

Production—When code is ready and tested, all code merges to master for deployment to the Production live site. This environment includes your active master branch, database, web server, caching, third-party services, environment variables, and configurations.

Inactive—You can have an unlimited number of inactive branches.

Pro projects

Integration—The Integration environment provides a testable environment that includes a database, web server, caching, some services, environment variables, and configurations. You can develop, deploy, and test your code before merging to the Staging environment.

Inactive—You can have an unlimited number of inactive branches based on the Integration environment.

Staging—The Staging environment is for pre-Production testing and includes a database, web server, caching, services, environment variables, configurations, and services, such as Fastly.

Production—The Production environment includes a three-node, high-availability architecture for your data, services, caching, and store. This is your live, public store environment with environment variables, configurations, and third-party services. (https://devdocs.magento.com/guides/v2.2/cloud/architecture/cloud-architecture.html)

Documentation: