Tagged with 'Magento Commerce'

Magento Commerce Cloud Demands Your Attention

Magento Commerce Cloud Demands Your Attention

I have heard the noise from other system integrators;

  • Magento Commerce Cloud is hard to work with
  • We prefer our technology stack
  • My system engineering team wants more control
  • The Magento Commerce Cloud support team is not responsive
  • The Magento Commerce Cloud is too immature
  • and on and on…….

I must admit it, I do not get it. The single greatest achievement for Magento 2 Commerce is the introduction of the cloud infrastructure. I am serious. Yes, the code architecture is vastly improved and the growth in content management is fantastic. Magento 2 is across the board a vast improvement over Magento 1. Yet, none of it compares to Magento Commerce Cloud.

So why all the push back?

Why are some resisting?

Why would anyone not recommend Commerce Cloud versus self-hosted?

Yes there are times a customer has unique requirements that requires on-premise hosting. Other times customers want their own IT staff to manage their servers. Those customers will never use Commerce Cloud. Everyone else should be using Commerce Cloud.

When the choice is up to us on what to recommend to a customer, we choose Commerce Cloud every time. No question. All we have to do is look at our Magento customer base and document the hosting related issues we have encountered in the last two years to understand anything besides Cloud is simply not the best choice.

Hosting and environment problems stink. There is always urgency. There is always finger pointing. No-one is happy. Customers push back on those large bills to address hosting emergencies. Anyone who has been responsible for an e-commerce site has experienced this pain. Here's the proof in the proverbial pudding:

15% of Magento clients are not on Commerce Cloud. They represent 90% of the hosting issues we have to deal with!

The problems are numerous and span the entire hosting spectrum. Here are just a few:

  • Auto-OS updates breaking Magento
  • Physical hardware failure
  • Poor caching solutions
  • ISP security breaches
  • Poor system monitoring
  • Insecure system configurations

Some hosting providers don't understand Magento at all and others have "experts". Unfortunately, those experts are rarely involved until you have gone through multiple tiers of support and a problem remains unresolved. Our customers still call us first when there is a problem. They may be paying for hosting company support, but they rely on us because we are more responsive and are capable of determining if the issue is hosting or application related. For us, the hosting companies simply don't provide much value. We spend much of our time explaining to the providers why what they are suggesting doesn't even make sense (they almost always want to upgrade hardware/software before they really understand what the root cause of the issue is).

Before you think that my system engineering team just stinks, a number of these issues are from inherited projects from other system integrators that are clearly not following Magento's best practices. That tells me one of the very things that Commerce Cloud was created to address over Magento 1 is still happening in Magento 2. Outside of the Commerce Cloud, Magento SIs are still getting it wrong.

Commerce Cloud is of course not perfect. No hosting is. We have experienced a few issues and had some miscommunications. Yet we are on the same team, Kadro and Magento, working together for our joint customer and have worked it out every single time. When Magento published that they had no system downtime during the holiday season, that should have been a wake up call for the doubters. I know we experienced NO system issues during the holidays from any of our clients on Magento Cloud, NONE!. It was amazing. To be honest I was in a bit of disbelief ... but how wonderful. This is the future and the future is now.

10+ Reasons Why Magento Commerce Cloud is the Solution for You

10+ Reasons Why Magento Commerce Cloud is the Solution for You

Why is Magento Commerce Cloud the right solution for you? Here a few reasons why we believe Magento Commerce Cloud is the right solution for hosting your Magento solution.

  1. Magento Commitment to Site Excellence

    Magento's reputation is on the line, they know it and act accordingly. Magento has demonstrated to us that they are committed to ensuring that customers' sites perform well. The commitment extends well beyond the initial configuration. Magento monitors your system to:

    1. Identify potential performance issues on live systems.
    2. Monitor system usage to ensure your site stays within acceptable performance metrics.
    3. If for some reason your site experiences slowness, they proactively reach out and are available to help diagnose the problem.
  2. Guaranteed Right-sized Provisioning

    Something we have never experienced before. Magento Commerce Cloud won't allow you to deploy your site to an undersized environment. Magento Commerce Cloud won't configure an environment that is not sufficient. Your key site metrics (peak page views, transactions, concurrent users, concurrent admin users, etc.) are factored into the resources you will need to have a performant system. Hosting companies ask you want you want, Magento Commerce Cloud educates you what you need.

  3. Knowledgeable Hosting Staff

    Unlike any other hosting provider, the Commerce Cloud team know and understand the complete Magento environment infrastructure. They are experts in configuring Magento. They know and have implemented Magento best practices. Your site will not be a snowflake, it will follow the proven server architecture to achieve the best performance for your site.

  4. Staging Environment that matches production

    Each Commerce Cloud setup includes a production and a staging environment. The staging environment runs the same services and software that the production environment does. This allows site changes to be fully vetted before pushing to production.

  5. Simplicity of Server Access

    Getting access to the servers is simple. No special VPN clients required. Add a user through the web portal and assign them a role. Developers and support staff need only an SSH key and they can be accessing environments in minutes.

  6. Docker instances for development

    In addition to have a staging environment that mirrors production for quality assurance and user acceptance testing, Magento provides a docker setup so that your development team can also develop in the same environment as the code will eventually be deployed in, eliminating unfound errors during deployment because of mismatched environments.

  7. Ease of environment replication

    Magento Commerce Cloud makes it very simple to copy an upper environment down into a lower environment or to spin up a new environment based on an existing one. Want to do some testing with the latest production data, no problem. Want to give a 3rd-party developer access to their own environment to track down an issue with their code or service, no problem.

  8. Up-sizing of environments

    Part of the Magento Commerce Cloud package is a set number of days that Magento will upsize your environment during peak usage periods. You can even have Magento auto-upsize your environment when they determine that resources are being maxed out. Whether it be for the holiday season at the end of the calendar year, on specific catalog drops throughout the year, or the end of the government's fiscal year, your environment can be increased to handle the server load you know is coming.

  9. Blackfire, Fastly, New Relic

    Magento Commerce Cloud bundles in a rich suite of services to help ensure your site reaches its optimal performance. Fastly manages your SSL certificates, your web application firewall, and your CDN. New Relic provides in-depth performance analysis of the entire application stack. Blackfire allows you to debug site issues directly on production without negatively impacting your running site.

  10. Build Tools

    Magento Commerce Cloud makes pushing new builds to a server environment easy. A simple GIT push installs new code and initiates a complete rebuild of the environment.

  11. Best Practice Configurations

    Sites on Magento Commerce Cloud follow best practices for performance and security.

  12. Continued Process Improvement

    Magento Commerce Cloud is fairly new. The tools and configurations available today have improved since initial launch. Magento is committed to continuing to improve what is already the best solution for customers.

Leveraging Magento Commerce Cloud to Grow My Business

Leveraging Magento Commerce Cloud to Grow My Business

As a Magento System Integrator we work with clients through the entire life cycle of their site: project inception, site build, ongoing site maintenance and so forth. Our roots have always been in software development. It is what we love. Our core team of software engineers is an elite group of e-commerce and web development experts.

When we first forayed into Magento seven years ago we didn't fully appreciate the hosting nightmare we were walking to. There seemed to be no standards on how a Magento site was hosted. We started our practice by inheriting existing Magento sites as many system integrators do. What was amazing is that every site we encountered was its own snowflake. There were so many possibilities and it seemed that everyone was trying a bit of everything without clear direction.

There were different flavors of UNIX, different branches of PHP, different web servers, different MySQL variations, different caching strategies, and on and on. We investigated a number of hosting providers that claimed to have just the right configuration for Magento sites, except we also inherited clients on those same providers that were struggling with performance and security. We also read a number of published white papers on Magento hosting providing contradictory recommendations.

We realized that we needed to figure this out for ourselves. So while hosting had always been an afterthought for our business it was now front and center. We grew a systems engineering team, hired new employees and transitioned other engineers into this effort. We documented all of our clients, and their unique configurations. We began to establish our own "solution" to hosting Magento.

We then found ourselves in the same place our clients did focussing on efforts that were not our core business. Magento merchants find system integrators because software development and maintenance is not their core business. Clients want to focus on the essence of their business, not the technology to make it happen. Here we were in a very precarious spot, a software development company now being burdened with hosting, unix environments, server management and collating a set of services/programs to run a Magento sites.

In comes the savior Magento Commerce Cloud. A solution provided by Magento to fully manage environments, security, hosting and content delivery. A true hosting solution implemented with all of the best practices, leveraging powerful integrated services and run by the people that know Magento best - Magento!.

Custom build scripts for each customer ... gone.

Server setup and maintenance ... gone.

Picking and testing the right solution set (web server, caching, CDN) ... gone.

Managing unique security requirements for clients ... gone.

Convincing clients of the importance of aligned production and staging instances ... gone.

The pain of setting up additional environments for testing ... gone.

For us, no longer did we need all of the system engineers. Our software developers that were constantly distracted by system configurations, they are back to developing.

With Magento Commerce Cloud we are back to being who we are ... software developers. The increased focus has allowed us to do more and be more for our clients. It is no coincidence the rise of Magento Commerce Cloud parallels the growth of my company.

8 Keys to Success on Magento Commerce Cloud

Magento Commerce Cloud

Magento Commerce Cloud has become the favored Magento configuration in our organization. I thought I would share some things that have been the key to our success.

  1. Embrace the infrastructure

    Engineers are opinionated. System engineers are no different. They like the way they do it. They have passion. We had to convince our system engineers to acquiesce to the will of the Magento team. There was some initial hesitation and push back, but we decided to align with the Magento Commerce Cloud's approach. It might have been a little rough at first but ultimately it has paid great dividends for our organization. Things we used to have to manage, stress over, and care about now are afterthoughts. If you embrace it, you can leverage it to your benefit and to your customer's benefit.

  2. Embrace Magento

    This might sound strange. You are already using Magento so of course you have embraced Magento. We have been involved with taking over a few Magento Commerce Cloud implementations that were struggling and can tell some are not truly embracing Magento.

    • Magento has a package loader and you should use it.
    • Magento has a patching process and you should use it.
    • Magento is tested and optimized for LESS and you should use it.
    • Magento Commerce Cloud has a solution for 301 redirects and you should use it.
    • Magento has a solution for JavaScript loading and you should use it.

    Every time you stray from what Magento has, your team has to shift focus from solving business problems to managing development, build, and environment issues.

  3. Do development elsewhere

    I have seen a number of other companies try to use the integration environment for development. This does not work. The integration environment does not have the horse power to do proper development. There are good uses for that environment but development is not one of them.

    Our team has their own virtual machines and/or docker setups for customers. We do our development from our office with the use of a shared database server. Depending on what each team member is doing we may have just one or multiple databases setup for the customer. Each developer has their own application server configured with XDebug and uses PHPStorm to write and debug code within their instance.

    We follow the GitFlow process and have individual developers add code updates into feature branches and an integration prime responsible for reviewing, merging, and deploying code to the cloud for QA testing, UAT, and production builds.

  4. Use default processes

    The cloud build process allows for developers to add in their own build hooks to adjust the process. From the installations we have reviewed, it seems some development teams try to morph the process to align with their own internal deployment process. Those installations fight against the tide. Each time the Magento Commerce Cloud team modifies, fixes, or improves the build process, these custom modifications fail. It requires that the development team keep doing their own testing on each cloud deployment release rather than actually working on development for their customers.

    The default processes work. They are simple. They will meet your needs.
  5. Leverage the tool set

    Magento Commerce Cloud bundles in some nice technology and features that we regularly take advantage of. New Relic is a great tool to monitor the performance of your Magento site. Especially with complex builds, since there are a lot of integrations and custom programming, New Relic quickly shows what process(es) is consuming the most resources to help us isolate the problem. Where New Relic helps with the what, Blackfire.IO helps with the why. Blackfire allows you to connect to your running production server and debug an individual session. We have used this effectively to debug the exact problems found through New Relic.

    The cloud tools make it simple to spin up a new instance into the Integration environment. While this environment doesn't work for development, it does work well for giving access to an extension provider to debug and address issues with their code in an isolated environment without impacting any other ongoing development and testing. Add in your own script for scrubbing data clean and the normal hesitation you get when giving access to a 3rd party is mitigated.

  6. Use composer sparingly

    This might surprise some. Isn't composer the wave of the future? Don't you want to automatically get the latest updates from extension builders? Don't you want the last code from your System Integrator's shared custom extensions? In short, nope. You can require an exact version in composer so no unexpected updates happen, but then on every build you are dependent on 3rd party servers to be running and responsive.

    Magento 2 has excellent code separation making it very easy to manage extensions. You never want to get automatic extension updates. The system should be fully verified in your development process and approved through staging. This entails knowing EXACTLY what code is in use. If between builds you pull in unexpected new code, your system is no longer fully tested and unexpected problems crop up.

  7. Staging is for staging

    As already mentioned, the integration environment is not for development. That shouldn't be interpreted as a reason to use the staging environment for development. Staging is for staging. Staging uses the same configuration (multi-server, Fastly, etc.) as production so is a perfect place for final QA and UAT prior to releasing to production. There should be no surprises when publishing to production. If staging is used for staging, there won't be. Worry free production releases are possible.

  8. Just because you can doesn't mean you should

    Magento has built in a lot of flexibility to allow developers to divest from the Magento default direction in not only code, but tools and utilities. Magento has such a wide audience and enormous open-source community this makes sense. Magento Commerce however is built for the enterprise. Enterprise solutions are already complicated. Magento Commerce Cloud provides the hosting and infrastructure for an enterprise solution. Just use it.