To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
The Bluemix UI (which runs on CloudFoundry) is the front-end to Bluemix, IBM's open cloud hosting platform. The original implementation as a single-page, monolithic Java web app brought with it many demons, such as poor performance, lack of scalability, inability to push small updates, and difficulty for other teams to contribute code. Over the last 2 years, the team has been on a mission to slay these demons by embracing cloud native principles and splitting the monolith into smaller Node.js microservices. The effort to migrate to a more modern and scalable architecture has paid large dividends, but has also left behind a few battle scars from wrestling with the added complexity cloud native can bring. The team had to tackle problems in a wide variety of areas, including: large-scale deployments, continuous integration, monitoring, problem determination, high availability, and security. Tony Erwin will discuss the advantages of microservice architectures, ways that Node.js has increased developer productivity, approaches to phasing microservices into a live product, and real-life lessons learned in the deployment and management of Node.js microservices across multiple CloudFoundry environments. His war stories will prepare you to wage your own battles against monoliths everywhere -- happy slaying!
Presented at Cloud Foundry Summit 2017: http://sched.co/AJmh
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Tony Erwin
While microservice architectures offer lots of great benefits, there’s also a downside. Perhaps most notably, there is an increased complexity in monitoring the overall reliability and performance of the system. In addition, when problems are identified, finding a root cause can be a challenge. To ease these pains in managing the IBM Bluemix UI (made up of more than twenty microservices running on CloudFoundry), we’ve built a lightweight system using Node.js and other opensource tools to capture key metrics for all microservices (such as memory usage, CPU usage, speed and response codes for all inbound/outbound requests, etc.). In this approach, each microservice publishes lightweight messages (using MQTT) for all measurable events while a separate monitoring microservice subscribes to these messages. When the monitoring microservice receives a message, it stores the data in a time series DB (InfluxDB) and sends notifications if thresholds are violated. Once the data is stored, it can be visualized in Grafana to identify trends and bottlenecks. Tony Erwin will discuss the details of the Node.js implementation, real-world examples of how this system has been used to keep the Bluemix UI running smoothly without spending a lot of money, and how it’s acted as a “canary” to find problems in non-UI subsystems before the relevant teams even knew there was an issue!
Presented at Cloud Foundry Summit 2017: http://sched.co/AJmn
Migrating Enterprise Microservices From Cloud Foundry to KubernetesTony Erwin
Slides originally presented in Shanghai at KubeCon + CloudNativeCon China 2018. Content developed by Tony Erwin and Jonathan Schweikhart.
Abstract: Historically, the forty microservices making up the IBM Cloud UI have been deployed as apps on Cloud Foundry (CF), an open source PaaS. But, recently, this enterprise microservice system has been migrated to run on Kubernetes to take advantage of improved orchestration, higher availability, and better performance. Tony Erwin & Jonathan Schweikhart will discuss their journey and provide insights into the advantages of Kube over CF. Even more importantly, they will describe approaches to solving new problems that took the place of old ones, such as: 1) adapting PaaS apps to run as containers on Kube, 2) enabling geo load balancing between the different platforms (to vet Kube before entirely replacing CF), 3) integrating tools like Prometheus into existing monitoring systems, and more! Their team's experiences will help you avoid pitfalls as you look to perform your own migrations to Kube!
NOTE: CF is always evolving and the limitations on private networking and private host names mentioned in the slides are no longer current. If you have access to CF API 2.115.0 or higher (released on June 25, 2018), you can leverage CF's service discovery feature (see https://docs.cloudfoundry.org/devguide/deploy-apps/cf-networking.html#discovery ).
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
Originally presented at CF Summit Europe 2017 in Basel, Switzerland. The abstract of the talk was:
The Bluemix UI (which runs on CloudFoundry) is the front-end to Bluemix, IBM’s open cloud hosting platform. The original implementation as a single-page, monolithic Java web app brought with it many demons, such as poor performance, lack of scalability, inability to push small updates, and difficulty for other teams to contribute code. Over the last 2 years, the team has been on a mission to slay these demons by embracing cloud native principles and splitting the monolith into smaller Node.js microservices. The effort to migrate to a more modern and scalable architecture has paid large dividends, but has also left behind a few battle scars from wrestling with the added complexity cloud native can bring. The team had to tackle problems in a wide variety of areas, including: large-scale deployments, continuous integration, monitoring, problem determination, high availability, and security. Tony Erwin will discuss the advantages of microservice architectures, ways that Node.js has increased developer productivity, approaches to phasing microservices into a live product, and real-life lessons learned in the deployment and management of Node.js microservices across multiple CloudFoundry environments. His war stories will prepare you to wage your own battles against monoliths everywhere -- happy slaying!
This document summarizes new Azure updates from October. Key updates include: 1) new H-Series VMs for high performance computing; 2) general availability of Azure Disk Encryption, IPv6 support, and Azure DNS; 3) preview of Accelerated Networking; and 4) general availability of features like Storage Service Encryption and Premium Storage. It also outlines updates to services like Key Vault, Security Center, Application Gateway WAF, Service Fabric, DocumentDB, SQL, and App Service.
[WSO2Con EU 2017] Container-native ArchitectureWSO2
Enterprises are increasingly adopting DevOps. Docker adoption has surged to 35%, taking the lead over Chef and Puppet which at 28% each. To get the most out of the synergy between DevOps and containers you need to adopt container-native architecture for application development. This slide deck explores the importance of having container-native architecture in your enterprise and WSO2’s roadmap for it.
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
The Bluemix UI (which runs on CloudFoundry) is the front-end to Bluemix, IBM's open cloud hosting platform. The original implementation as a single-page, monolithic Java web app brought with it many demons, such as poor performance, lack of scalability, inability to push small updates, and difficulty for other teams to contribute code. Over the last 2 years, the team has been on a mission to slay these demons by embracing cloud native principles and splitting the monolith into smaller Node.js microservices. The effort to migrate to a more modern and scalable architecture has paid large dividends, but has also left behind a few battle scars from wrestling with the added complexity cloud native can bring. The team had to tackle problems in a wide variety of areas, including: large-scale deployments, continuous integration, monitoring, problem determination, high availability, and security. Tony Erwin will discuss the advantages of microservice architectures, ways that Node.js has increased developer productivity, approaches to phasing microservices into a live product, and real-life lessons learned in the deployment and management of Node.js microservices across multiple CloudFoundry environments. His war stories will prepare you to wage your own battles against monoliths everywhere -- happy slaying!
Presented at Cloud Foundry Summit 2017: http://sched.co/AJmh
Monitoring Node.js Microservices on CloudFoundry with Open Source Tools and a...Tony Erwin
While microservice architectures offer lots of great benefits, there’s also a downside. Perhaps most notably, there is an increased complexity in monitoring the overall reliability and performance of the system. In addition, when problems are identified, finding a root cause can be a challenge. To ease these pains in managing the IBM Bluemix UI (made up of more than twenty microservices running on CloudFoundry), we’ve built a lightweight system using Node.js and other opensource tools to capture key metrics for all microservices (such as memory usage, CPU usage, speed and response codes for all inbound/outbound requests, etc.). In this approach, each microservice publishes lightweight messages (using MQTT) for all measurable events while a separate monitoring microservice subscribes to these messages. When the monitoring microservice receives a message, it stores the data in a time series DB (InfluxDB) and sends notifications if thresholds are violated. Once the data is stored, it can be visualized in Grafana to identify trends and bottlenecks. Tony Erwin will discuss the details of the Node.js implementation, real-world examples of how this system has been used to keep the Bluemix UI running smoothly without spending a lot of money, and how it’s acted as a “canary” to find problems in non-UI subsystems before the relevant teams even knew there was an issue!
Presented at Cloud Foundry Summit 2017: http://sched.co/AJmn
Migrating Enterprise Microservices From Cloud Foundry to KubernetesTony Erwin
Slides originally presented in Shanghai at KubeCon + CloudNativeCon China 2018. Content developed by Tony Erwin and Jonathan Schweikhart.
Abstract: Historically, the forty microservices making up the IBM Cloud UI have been deployed as apps on Cloud Foundry (CF), an open source PaaS. But, recently, this enterprise microservice system has been migrated to run on Kubernetes to take advantage of improved orchestration, higher availability, and better performance. Tony Erwin & Jonathan Schweikhart will discuss their journey and provide insights into the advantages of Kube over CF. Even more importantly, they will describe approaches to solving new problems that took the place of old ones, such as: 1) adapting PaaS apps to run as containers on Kube, 2) enabling geo load balancing between the different platforms (to vet Kube before entirely replacing CF), 3) integrating tools like Prometheus into existing monitoring systems, and more! Their team's experiences will help you avoid pitfalls as you look to perform your own migrations to Kube!
NOTE: CF is always evolving and the limitations on private networking and private host names mentioned in the slides are no longer current. If you have access to CF API 2.115.0 or higher (released on June 25, 2018), you can leverage CF's service discovery feature (see https://docs.cloudfoundry.org/devguide/deploy-apps/cf-networking.html#discovery ).
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservic...Tony Erwin
Originally presented at CF Summit Europe 2017 in Basel, Switzerland. The abstract of the talk was:
The Bluemix UI (which runs on CloudFoundry) is the front-end to Bluemix, IBM’s open cloud hosting platform. The original implementation as a single-page, monolithic Java web app brought with it many demons, such as poor performance, lack of scalability, inability to push small updates, and difficulty for other teams to contribute code. Over the last 2 years, the team has been on a mission to slay these demons by embracing cloud native principles and splitting the monolith into smaller Node.js microservices. The effort to migrate to a more modern and scalable architecture has paid large dividends, but has also left behind a few battle scars from wrestling with the added complexity cloud native can bring. The team had to tackle problems in a wide variety of areas, including: large-scale deployments, continuous integration, monitoring, problem determination, high availability, and security. Tony Erwin will discuss the advantages of microservice architectures, ways that Node.js has increased developer productivity, approaches to phasing microservices into a live product, and real-life lessons learned in the deployment and management of Node.js microservices across multiple CloudFoundry environments. His war stories will prepare you to wage your own battles against monoliths everywhere -- happy slaying!
This document summarizes new Azure updates from October. Key updates include: 1) new H-Series VMs for high performance computing; 2) general availability of Azure Disk Encryption, IPv6 support, and Azure DNS; 3) preview of Accelerated Networking; and 4) general availability of features like Storage Service Encryption and Premium Storage. It also outlines updates to services like Key Vault, Security Center, Application Gateway WAF, Service Fabric, DocumentDB, SQL, and App Service.
[WSO2Con EU 2017] Container-native ArchitectureWSO2
Enterprises are increasingly adopting DevOps. Docker adoption has surged to 35%, taking the lead over Chef and Puppet which at 28% each. To get the most out of the synergy between DevOps and containers you need to adopt container-native architecture for application development. This slide deck explores the importance of having container-native architecture in your enterprise and WSO2’s roadmap for it.
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineRuslan Synytsky
Jelastic Cluster uses Google Cloud Platform APIs to allocate private networks and map subnets to virtual machines. A VPN allows access to any private network on any VM and end user containers use internal IP addresses from mapped VPNs to access the internet. Live migration of containers between VMs is possible through VPN, but routing all traffic through the VPN causes network overhead with high traffic or large numbers of VMs.
This document provides a summary of updates to various Azure services in September:
- API Management received several updates including improved logging access, policy enhancements, and removal of developer tier restrictions.
- DevTest Labs will now notify users before auto-shutdown occurs through webhooks.
- Service Fabric updates include improved metrics and dependency injection for actors.
- Azure AD Application Proxy, Event Hubs, Batch, SQL Advisor, PowerShell, and Operations Management Suite all received updates to improve functionality and management capabilities.
Monitor availability and performance of applications hosted in the Amazon cloud. Monitor your Amazon EC2 and RDS instances and gain insight into the performance of your cloud computing environment, troubleshoot and resolve problems before end users are affected.
Forums: https://forums.site24x7.com/
Facebook: http://www.facebook.com/Site24x7
Twitter: http://twitter.com/site24x7
Google+: https://plus.google.com/+Site24x7
LinkedIn: https://www.linkedin.com/company/site24x7
View Blogs: http://blogs.site24x7.com/
This document discusses Pivotal Cloud Foundry and how to run MongoDB on it. Pivotal Cloud Foundry is an enterprise-ready, cloud-native platform-as-a-service that can run applications and data services across languages, frameworks and infrastructure. It manages VMs and containers, and provides horizontal and vertical scaling. The document demonstrates how to dynamically provision a MongoDB cluster on demand using Pivotal Cloud Foundry and Bosh 2.0's ability to orchestrate software deployment across VMs with zero downtime. It presents MongoDB as an on-demand service that leverages these capabilities to automatically provision the necessary infrastructure resources and configuration.
Kubernetes is an open-source container orchestration system that automates deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes services handle load balancing, networking, and execution of containers across a cluster of nodes. It addresses challenges in managing containers at scale through features like deployment and rolling update of containers, self-healing, resource allocation and monitoring.
This document introduces the NServiceBus messaging platform. It discusses how NServiceBus allows systems to be designed as passing messages between loosely coupled components, without bindings to specific locations. Key features of NServiceBus include dynamic routing of messages, support for long-running processes through sagas, and the ability to process messages asynchronously using pub-sub messaging. The document also covers some common integration patterns supported by NServiceBus like request-response, event processing, and polymorphic routing.
There is no doubt that Openstack represents one of the massive industry alignment towards the Open source cloud, Some even touting it to be the linux of cloud computing. But is it “THE” perfect solution ?
Vanilla Openstack is a “Myth”
The choice of Openstack as part of your cloud strategy purely depends on the kind of workload and the add-on features.
Openstack can be a serious contender especially for fresh deployments and applications that are being architected for cloud. But as the environment gets diverse(legacy integrations) Openstack can be tricky to integrate and maintain
One might require a vendor based Cloud management platform especially when the cloud strategy involves public clouds(AWS, Azure, GCE) and migration of application services across
No doubt it is fully open source, but it comes with learning curve, release cycles, Vendor specific driver integrations etc.
Interesting developments with respect to containers, docker, Kubernetes, Mesosphere etc will challenge Openstack
Openstack will no doubt will grow mature over next couple of years, until then, the hunt for the CMP continues...
Topics of interest :
to build a true hyper converged cloud ?
as an enterprise cloud management platform ?
public cloud ? (as a CSP)
Telco carrier grade cloud ?
VNF, MANO and SDN integrations
[WSO2Con EU 2017] WSO2 Unleashed: Full Stack Automation, Pitfalls and SolutionsWSO2
In this presentation, Gion Sialm (Head of IAM and Application Integration, FOITT) and Nils Eckert (Integration Consultant, Yenlo) shows how the full stack of WSO2 can be automated. The full stack includes both the platform and the configuration of APIs, queues, users, etc. They also explain solutions for some common pitfalls of WSO2 components.
This document discusses enhancing cloud computing environments using a cluster as a service (CaaS). It proposes the Resource Via Web Service (RVWS) framework, which combines dynamic attributes and stateful web services to indicate resource readiness. RVWS publishes attribute and provider information to a dynamic broker for automatic discovery and selection of cloud resources. The document then describes how RVWS could be applied to CaaS to provide stateful descriptions of clusters, discover and select clusters, specify and submit jobs to clusters, and monitor and collect job results, thus providing a full CaaS environment. Future work areas discussed include load management, security, and service level agreement negotiation.
Headless is the new trend. Even with Sitecore and JSS.
Now what about global applications that require scale? What are the infrastructure options to manage JSS at scale?
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...WSO2
This slide deck explores in-depth how enioka Haute Couture designed and built an integration platform around WSO2 ESB to expose internal services to external applications (SaaS, external partners); and how this became a central component of the collaboration between every actor of integration projects.
The Jelastic Cluster Admin Panel allows administrators to manage infrastructure, billing, users and environments, configurations, and the marketplace. It provides controls for regions and availability zones, hardware node management, IP management, workload statistics, and Zabbix monitoring. Billing features include tariff management and usage monitoring. Users, groups, and environments can be configured and managed. Server templates, access permissions, and email templates are configurable. The marketplace facilitates one-click installation of apps and add-ons.
AWS vs. Azure vs. Google vs. SoftLayer: Network, Storage and DBaaSRightScale
Most enterprises have a multi-cloud strategy, but choosing the right cloud for a workload can be challenging. In a previous deck we covered differences in block/object storage, pricing, and container services. In this deck we’ll drill down on archival storage, database-as-a-service (DBaaS), and networking options for the leading public clouds.
Creating Microservices Application with IBM Cloud Private (ICP) - Container a...PT Datacomm Diangraha
Container as a Service is a container-based managed solution that provides tools to deploy and manage containerized applications. Containers isolate applications from each other and the underlying infrastructure, allowing applications to run consistently regardless of environment. Key benefits of containers include increased workload density, improved portability, faster deployment and updates, and more consistent operations. The solution is powered by Kubernetes for orchestration and IBM Cloud Private and includes features like automated deployments, monitoring, security controls and a management console.
The document discusses different options for hosting Rails applications, including shared hosting, VPS, and dedicated servers. Shared hosting is the cheapest option but has limitations in terms of resources and customization. VPS hosting provides more control over the server but still has resource constraints. Dedicated servers are fully customizable but the most expensive. The document also outlines various considerations for setting up a Rails application hosting environment, such as hardware, software, databases, deployment, backups and more. Popular shared hosting providers, VPS providers, and PaaS options for Rails apps are also listed.
A high level overview of the new technologies & architectures in the software market today. A more detailed presentation will be coming next to go in depth into different languages / async models & cloud solution maintenance.
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Tony Erwin
Presented at Open Source Summit Japan with Jonathan Schweikhart on June 21, 2018.
Abstract: The 40 Node.js microservices making up the IBM Cloud UI historically have been deployed as apps on Cloud Foundry (CF), an open source PaaS. But, recently, this enterprise microservice system has been migrated to run on Kubernetes to take advantage of improved orchestration, higher availability, and better performance. Tony Erwin & Jonathan Schweikhart will discuss their team's journey and provide you with insights into the advantages of Kube over CF. Even more importantly, they will describe approaches to solving new problems that took the place of old ones, such as: 1) adapting PaaS apps to run as containers on Kube, 2) enabling geo load balancing between the different runtimes (to vette Kube before completely turning off CF), 3) integrating tools like Prometheus into existing monitoring systems, and more! Their team's first-hand experiences will help you avoid pitfalls as you prepare your own migrations to Kube!
Link to Info on Talk: https://ossalsjp18.sched.com/event/EaYj/migration-of-an-enterprise-ui-microservice-system-from-cloud-foundry-to-kubernetes-tony-erwin-jonathan-schweikhart-ibm?iframe=no
NOTE: CF is always evolving and the limitations on private networking and private host names mentioned in the slides are no longer current. If you have access to CF API 2.115.0 or higher (released on June 25, 2018), you can leverage CF's service discovery feature (see https://docs.cloudfoundry.org/devguide/deploy-apps/cf-networking.html#discovery ).
Containers as Infrastructure for New Gen AppsKhalid Ahmed
Khalid will share on emerging container technologies and their role in supporting an agile cloud-native application development model. He will discuss the basics of containers compared to traditional virtualization, review use cases, and explore the open-source container management ecosystem.
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineRuslan Synytsky
Jelastic Cluster uses Google Cloud Platform APIs to allocate private networks and map subnets to virtual machines. A VPN allows access to any private network on any VM and end user containers use internal IP addresses from mapped VPNs to access the internet. Live migration of containers between VMs is possible through VPN, but routing all traffic through the VPN causes network overhead with high traffic or large numbers of VMs.
This document provides a summary of updates to various Azure services in September:
- API Management received several updates including improved logging access, policy enhancements, and removal of developer tier restrictions.
- DevTest Labs will now notify users before auto-shutdown occurs through webhooks.
- Service Fabric updates include improved metrics and dependency injection for actors.
- Azure AD Application Proxy, Event Hubs, Batch, SQL Advisor, PowerShell, and Operations Management Suite all received updates to improve functionality and management capabilities.
Monitor availability and performance of applications hosted in the Amazon cloud. Monitor your Amazon EC2 and RDS instances and gain insight into the performance of your cloud computing environment, troubleshoot and resolve problems before end users are affected.
Forums: https://forums.site24x7.com/
Facebook: http://www.facebook.com/Site24x7
Twitter: http://twitter.com/site24x7
Google+: https://plus.google.com/+Site24x7
LinkedIn: https://www.linkedin.com/company/site24x7
View Blogs: http://blogs.site24x7.com/
This document discusses Pivotal Cloud Foundry and how to run MongoDB on it. Pivotal Cloud Foundry is an enterprise-ready, cloud-native platform-as-a-service that can run applications and data services across languages, frameworks and infrastructure. It manages VMs and containers, and provides horizontal and vertical scaling. The document demonstrates how to dynamically provision a MongoDB cluster on demand using Pivotal Cloud Foundry and Bosh 2.0's ability to orchestrate software deployment across VMs with zero downtime. It presents MongoDB as an on-demand service that leverages these capabilities to automatically provision the necessary infrastructure resources and configuration.
Kubernetes is an open-source container orchestration system that automates deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes services handle load balancing, networking, and execution of containers across a cluster of nodes. It addresses challenges in managing containers at scale through features like deployment and rolling update of containers, self-healing, resource allocation and monitoring.
This document introduces the NServiceBus messaging platform. It discusses how NServiceBus allows systems to be designed as passing messages between loosely coupled components, without bindings to specific locations. Key features of NServiceBus include dynamic routing of messages, support for long-running processes through sagas, and the ability to process messages asynchronously using pub-sub messaging. The document also covers some common integration patterns supported by NServiceBus like request-response, event processing, and polymorphic routing.
There is no doubt that Openstack represents one of the massive industry alignment towards the Open source cloud, Some even touting it to be the linux of cloud computing. But is it “THE” perfect solution ?
Vanilla Openstack is a “Myth”
The choice of Openstack as part of your cloud strategy purely depends on the kind of workload and the add-on features.
Openstack can be a serious contender especially for fresh deployments and applications that are being architected for cloud. But as the environment gets diverse(legacy integrations) Openstack can be tricky to integrate and maintain
One might require a vendor based Cloud management platform especially when the cloud strategy involves public clouds(AWS, Azure, GCE) and migration of application services across
No doubt it is fully open source, but it comes with learning curve, release cycles, Vendor specific driver integrations etc.
Interesting developments with respect to containers, docker, Kubernetes, Mesosphere etc will challenge Openstack
Openstack will no doubt will grow mature over next couple of years, until then, the hunt for the CMP continues...
Topics of interest :
to build a true hyper converged cloud ?
as an enterprise cloud management platform ?
public cloud ? (as a CSP)
Telco carrier grade cloud ?
VNF, MANO and SDN integrations
[WSO2Con EU 2017] WSO2 Unleashed: Full Stack Automation, Pitfalls and SolutionsWSO2
In this presentation, Gion Sialm (Head of IAM and Application Integration, FOITT) and Nils Eckert (Integration Consultant, Yenlo) shows how the full stack of WSO2 can be automated. The full stack includes both the platform and the configuration of APIs, queues, users, etc. They also explain solutions for some common pitfalls of WSO2 components.
This document discusses enhancing cloud computing environments using a cluster as a service (CaaS). It proposes the Resource Via Web Service (RVWS) framework, which combines dynamic attributes and stateful web services to indicate resource readiness. RVWS publishes attribute and provider information to a dynamic broker for automatic discovery and selection of cloud resources. The document then describes how RVWS could be applied to CaaS to provide stateful descriptions of clusters, discover and select clusters, specify and submit jobs to clusters, and monitor and collect job results, thus providing a full CaaS environment. Future work areas discussed include load management, security, and service level agreement negotiation.
Headless is the new trend. Even with Sitecore and JSS.
Now what about global applications that require scale? What are the infrastructure options to manage JSS at scale?
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...WSO2
This slide deck explores in-depth how enioka Haute Couture designed and built an integration platform around WSO2 ESB to expose internal services to external applications (SaaS, external partners); and how this became a central component of the collaboration between every actor of integration projects.
The Jelastic Cluster Admin Panel allows administrators to manage infrastructure, billing, users and environments, configurations, and the marketplace. It provides controls for regions and availability zones, hardware node management, IP management, workload statistics, and Zabbix monitoring. Billing features include tariff management and usage monitoring. Users, groups, and environments can be configured and managed. Server templates, access permissions, and email templates are configurable. The marketplace facilitates one-click installation of apps and add-ons.
AWS vs. Azure vs. Google vs. SoftLayer: Network, Storage and DBaaSRightScale
Most enterprises have a multi-cloud strategy, but choosing the right cloud for a workload can be challenging. In a previous deck we covered differences in block/object storage, pricing, and container services. In this deck we’ll drill down on archival storage, database-as-a-service (DBaaS), and networking options for the leading public clouds.
Creating Microservices Application with IBM Cloud Private (ICP) - Container a...PT Datacomm Diangraha
Container as a Service is a container-based managed solution that provides tools to deploy and manage containerized applications. Containers isolate applications from each other and the underlying infrastructure, allowing applications to run consistently regardless of environment. Key benefits of containers include increased workload density, improved portability, faster deployment and updates, and more consistent operations. The solution is powered by Kubernetes for orchestration and IBM Cloud Private and includes features like automated deployments, monitoring, security controls and a management console.
The document discusses different options for hosting Rails applications, including shared hosting, VPS, and dedicated servers. Shared hosting is the cheapest option but has limitations in terms of resources and customization. VPS hosting provides more control over the server but still has resource constraints. Dedicated servers are fully customizable but the most expensive. The document also outlines various considerations for setting up a Rails application hosting environment, such as hardware, software, databases, deployment, backups and more. Popular shared hosting providers, VPS providers, and PaaS options for Rails apps are also listed.
A high level overview of the new technologies & architectures in the software market today. A more detailed presentation will be coming next to go in depth into different languages / async models & cloud solution maintenance.
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Tony Erwin
Presented at Open Source Summit Japan with Jonathan Schweikhart on June 21, 2018.
Abstract: The 40 Node.js microservices making up the IBM Cloud UI historically have been deployed as apps on Cloud Foundry (CF), an open source PaaS. But, recently, this enterprise microservice system has been migrated to run on Kubernetes to take advantage of improved orchestration, higher availability, and better performance. Tony Erwin & Jonathan Schweikhart will discuss their team's journey and provide you with insights into the advantages of Kube over CF. Even more importantly, they will describe approaches to solving new problems that took the place of old ones, such as: 1) adapting PaaS apps to run as containers on Kube, 2) enabling geo load balancing between the different runtimes (to vette Kube before completely turning off CF), 3) integrating tools like Prometheus into existing monitoring systems, and more! Their team's first-hand experiences will help you avoid pitfalls as you prepare your own migrations to Kube!
Link to Info on Talk: https://ossalsjp18.sched.com/event/EaYj/migration-of-an-enterprise-ui-microservice-system-from-cloud-foundry-to-kubernetes-tony-erwin-jonathan-schweikhart-ibm?iframe=no
NOTE: CF is always evolving and the limitations on private networking and private host names mentioned in the slides are no longer current. If you have access to CF API 2.115.0 or higher (released on June 25, 2018), you can leverage CF's service discovery feature (see https://docs.cloudfoundry.org/devguide/deploy-apps/cf-networking.html#discovery ).
Containers as Infrastructure for New Gen AppsKhalid Ahmed
Khalid will share on emerging container technologies and their role in supporting an agile cloud-native application development model. He will discuss the basics of containers compared to traditional virtualization, review use cases, and explore the open-source container management ecosystem.
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
Serverless architecture is the next big shift in computing - completely abstracting the underlying infrastructure and focusing 100% on the business logic.
Today we can create applications directly in our browser and leave the decision how they are hosted and scaled to the cloud provider. Moreover, this approach give us incredible control over the granularity of our applications since most of the time we are dealing with single function at a time.
In this presentation we will cover:
• Introduce Serverless Architectures
• Talk about the advantages of Serverless Architectures
• Discuss in details in event-driven computing
• Cover common Serverless approaches
• See practical applications with Azure Functions
• Compare AWS Lambda and Azure Functions
• Talk about open source alternatives
• Explore the relation between Microservices and Serverless Architectures
Weaveworks discusses Microservices and best practices
Visit Weave Cloud: https://www.weave.works/product/cloud/
For more free talks, join our Weave Online User Group: https://www.meetup.com/Weave-User-Group/
Microservices and Serverless for Mega Startups - DevOps IL MeetupBoaz Ziniman
1) The document discusses best practices for running microservices at scale, including breaking monolithic architectures into loosely coupled microservices, using the right tools for each job, securing services, focusing on organizational transformation, and automating everything.
2) Five principles for running microservices are outlined: microservices only rely on each other's public APIs, using the right tool for the job, securing services with defense-in-depth, focusing on cross-functional teams for alignment, and automating everything.
3) Examples of event-driven serverless architectures using AWS Lambda and other AWS services are provided.
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...IndicThreads
Session Presented at 1st IndicThreads.com Conference On Mobile Application Development held on 19-20 November 2010 in Pune, India
WEB: http://M10.IndicThreads.com
------------
Speaker: Romin Irani
Abstract:
Mobile applications typically present the client side of a hosted application be it an enterprise app or a web application. This session aims to bridge and cover how you can power your mobile applications from the Cloud. The presentation will demonstrate how you can power both a native mobile application (Android) and a mobile web application (HTML based) from the Cloud via REST based HTTP Services.
The session will look at:
a) Advantages of using the cloud for mobile apps, with Google App Engine as an example. We shall build and deploy a simple Google App Engine application in the Cloud live.
b) Develop a simple Android Native Application that is powered by the services developed in (a). Demonstrate the same for a Mobile Web Application
c) Cover WURFL and how the device database can help you serve different content based on the capabilities of the mobile device that accesses your application.
This document provides an introduction and overview of containers, Kubernetes, IBM Container Service, and IBM Cloud Private. It discusses how microservices architectures break monolithic applications into smaller, independently developed services. Containers are presented as a standard way to package applications to move between environments. Kubernetes is introduced as an open-source system for automating deployment and management of containerized applications. IBM Cloud Container Service and IBM Cloud Private are then overviewed as platforms that combine Docker and Kubernetes to enable deployment of containerized applications on IBM Cloud infrastructure.
Building a PaaS Platform like Bluemix on OpenStackAnimesh Singh
The document discusses building IBM Bluemix on OpenStack using IBM Cloud Manager. Key points include:
- Bluemix is IBM's Platform as a Service offering that allows developers to focus on code by providing integrated services and tools.
- IBM Cloud Manager with OpenStack extends OpenStack to manage heterogeneous environments and simplify deployment. It will be used to deploy Bluemix on OpenStack.
- BOSH will be used for deployment and lifecycle management of Bluemix on OpenStack. It leverages OpenStack APIs to deploy VMs from stemcells and manage the health of processes and VMs.
The document discusses microservices and provides information on:
- The benefits of microservices including faster time to market, lower deployment costs, and more revenue opportunities.
- What defines a microservice such as being independently deployable and scalable.
- Differences between monolithic and microservice architectures.
- Moving applications to the cloud and refactoring monolithic applications into microservices.
- Tools for building microservices including Azure Service Fabric and serverless/Functions.
- Best practices for developing, deploying, and managing microservices.
Understanding Docker and IBM Bluemix Container ServiceAndrew Ferrier
The document provides an overview of Docker and IBM Bluemix Container Service. It begins with explaining what Docker is, how it differs from virtual machines, and why it is useful. It then discusses what IBM Bluemix is and how it provides different compute models including containers. The document explains that IBM Bluemix Container Service (formerly IBM Containers) is based on Docker and provides features like persistent storage, integrated monitoring and logging, and works with the IBM Bluemix DevOps toolchain. It notes that Container Service will evolve to use Kubernetes as the runtime engine to provide additional capabilities like declarative topologies, self-healing, and service discovery.
Lino Telera gave a presentation on serverless computing. He began with introductions and background. The presentation covered serverless concepts like Function as a Service, demonstrated building a simple microservice using AWS Lambda that interacts with S3, and discussed integrating functions with services like S3 using Boto. It also showed how functions can be called from devices using skills and discussed running serverless on-premise using OpenFaaS or Pivotal Container Service. The presentation concluded with a Q&A and thanks to sponsors.
Migrating Java EE applications to IBM Bluemix Platform-as-a-ServiceDavid Currie
This document discusses migrating Java EE applications from traditional deployment to IBM's Bluemix Platform-as-a-Service (PaaS). It introduces key concepts of cloud computing including IaaS, PaaS and SaaS models. It then focuses on Bluemix, describing it as IBM's cloud platform that is built on Cloud Foundry and provides services across various categories. The document guides developers on migrating an example application called DayTrader to Bluemix, covering steps like using database and other services, scaling the runtime, and adopting additional services to enhance the application.
Edge 2016 Session 1886 Building your own docker container cloud on ibm power...Yong Feng
The material for IBM Edge 2016 session for a client use case of Spectrum Conductor for Containers
https://www-01.ibm.com/events/global/edge/sessions/.
Please refer to http://ibm.biz/ConductorForContainers for more details about Spectrum Conductor for Containers.
Please refer to https://www.youtube.com/watch?v=7YMjP6EypqA and https://www.youtube.com/watch?v=d9oVPU3rwhE for the demo of Spectrum Conductor for Containers.
Rob Davies presentation during Red Hat's "Microservices Journey with Apache Camel" that took place in Atlanta on 10/04/16 and in Minneapolis on 10/06/16.
<November 2017 Updated from earlier presentations on Cloud-native Data>
Cloud-native applications form the foundation for modern, cloud-scale digital solutions, and the patterns and practices for cloud-native at the app tier are becoming widely understood – statelessness, service discovery, circuit breakers and more. But little has changed in the data tier. Our modern apps are often connected to monolithic shared databases that have monolithic practices wrapped around them. As a result, the autonomy promised by moving to a microservices application architecture is compromised.
What we need are patterns and practices for cloud-native data. The anti-patterns of shared databases and simple proxy-style web services to front them give way to approaches that include use of caches (Netflix calls caching their hidden microservice), database per service and polyglot persistence, modern versions of ETL and data integration and more. In this session, aimed at the application developer/architect, Cornelia will look at those patterns and see how they serve the needs of the cloud-native application.
This document discusses cloud-native data and patterns for managing data in microservices architectures. It describes using data services and APIs to interface with existing data sources. Patterns like caching data at the edge with various caching strategies are discussed. The document also covers using multiple small databases with each microservice rather than a shared database. Event sourcing and CQRS patterns are presented as ways to integrate data across services. Finally, the impact on roles like database administrators is considered in cloud-native data environments.
Where SOA and Monolitch EAR have failed. It's not simple to have your Apps scaling automagically without a very complex architecture. We're going to show pros and cons of so called Cloud-Native Applications based on Microservices, Caas, DevOps, Continuous Delivery....
Cloud computing relies on core technologies like distributed computing, virtualization, service orientation, and web 2.0. It provides on-demand access to configurable computing resources like networks, servers, storage, applications and services over the internet. Applications that benefit from cloud include web applications for their varying workload demands and resource-intensive applications for their temporary large resource needs. Popular cloud platforms discussed are Amazon Web Services, Google App Engine, Microsoft Azure, Hadoop, and Force.com which provide infrastructure, platform and application services through web interfaces.
This document provides an overview of cloud computing concepts including:
- The key characteristics of cloud computing including on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.
- The roots of cloud computing in technologies like virtualization, distributed computing, web services, and utility computing.
- The different service models of cloud computing including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
Similar to Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond (20)
Boost Your Savings with These Money Management AppsJhone kinadey
A money management app can transform your financial life by tracking expenses, creating budgets, and setting financial goals. These apps offer features like real-time expense tracking, bill reminders, and personalized insights to help you save and manage money effectively. With a user-friendly interface, they simplify financial planning, making it easier to stay on top of your finances and achieve long-term financial stability.
A neural network is a machine learning program, or model, that makes decisions in a manner similar to the human brain, by using processes that mimic the way biological neurons work together to identify phenomena, weigh options and arrive at conclusions.
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio, Inc.
Alluxio Webinar
June. 18, 2024
For more Alluxio Events: https://www.alluxio.io/events/
Speaker:
- Jianjian Xie (Staff Software Engineer, Alluxio)
As Trino users increasingly rely on cloud object storage for retrieving data, speed and cloud cost have become major challenges. The separation of compute and storage creates latency challenges when querying datasets; scanning data between storage and compute tiers becomes I/O bound. On the other hand, cloud API costs related to GET/LIST operations and cross-region data transfer add up quickly.
The newly introduced Trino file system cache by Alluxio aims to overcome the above challenges. In this session, Jianjian will dive into Trino data caching strategies, the latest test results, and discuss the multi-level caching architecture. This architecture makes Trino 10x faster for data lakes of any scale, from GB to EB.
What you will learn:
- Challenges relating to the speed and costs of running Trino in the cloud
- The new Trino file system cache feature overview, including the latest development status and test results
- A multi-level cache framework for maximized speed, including Trino file system cache and Alluxio distributed cache
- Real-world cases, including a large online payment firm and a top ridesharing company
- The future roadmap of Trino file system cache and Trino-Alluxio integration
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
Orca: Nocode Graphical Editor for Container OrchestrationPedro J. Molina
Tool demo on CEDI/SISTEDES/JISBD2024 at A Coruña, Spain. 2024.06.18
"Orca: Nocode Graphical Editor for Container Orchestration"
by Pedro J. Molina PhD. from Metadev
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
🏎️Tech Transformation: DevOps Insights from the Experts 👩💻campbellclarkson
Connect with fellow Trailblazers, learn from industry experts Glenda Thomson (Salesforce, Principal Technical Architect) and Will Dinn (Judo Bank, Salesforce Development Lead), and discover how to harness DevOps tools with Salesforce.
Liberarsi dai framework con i Web Component.pptxMassimo Artizzu
In Italian
Presentazione sulle feature e l'utilizzo dei Web Component nell sviluppo di pagine e applicazioni web. Racconto delle ragioni storiche dell'avvento dei Web Component. Evidenziazione dei vantaggi e delle sfide poste, indicazione delle best practices, con particolare accento sulla possibilità di usare web component per facilitare la migrazione delle proprie applicazioni verso nuovi stack tecnologici.
DevOps Consulting Company | Hire DevOps Servicesseospiralmantra
Spiral Mantra excels in providing comprehensive DevOps services, including Azure and AWS DevOps solutions. As a top DevOps consulting company, we offer controlled services, cloud DevOps, and expert consulting nationwide, including Houston and New York. Our skilled DevOps engineers ensure seamless integration and optimized operations for your business. Choose Spiral Mantra for superior DevOps services.
https://www.spiralmantra.com/devops/
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...Luigi Fugaro
Vector databases are transforming how we handle data, allowing us to search through text, images, and audio by converting them into vectors. Today, we'll dive into the basics of this exciting technology and discuss its potential to revolutionize our next-generation AI applications. We'll examine typical uses for these databases and the essential tools
developers need. Plus, we'll zoom in on the advanced capabilities of vector search and semantic caching in Java, showcasing these through a live demo with Redis libraries. Get ready to see how these powerful tools can change the game!
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Evolution of the IBM Cloud Console: From Monolith to Microservices and Beyond
1. Evolution of the IBM Cloud Console:
From Monolith to Microservices and Beyond
Tony Erwin
Senior Technical Staff Member
Lead Architect, IBM Cloud Console
aerwin@us.ibm.com
2. Agenda
• IBM Cloud Console & Early Days as a Monolith
• Modernization with Microservices
• New Problems Created by Microservices
• Continued Evolution of the Architecture to Achieve Higher Availability
4. What is the IBM Cloud Console?
• Large UI serving as front-end to the IBM
Cloud
• Lets users create, view, and manage
PaaS/IaaS resources
• Kubernetes clusters
• Virtual servers
• Bare metal
• Cloud Foundry apps & services
• Provides additional functionality for:
• Registration/onboarding
• Identity and Access Management (IAM)
• Billing/usage
• Docs
• Serves as the front-end to IBM Cloud
5. Console History: Origins as Monolith
• Released in 2014
as monolithic
single-page app
(SPA)
• All HTML, CSS, and
JavaScript loaded
within single web
page
• Served from a
single Java app
(which also
provided APIs)
• Totally centered
around Cloud
Foundry
Home Catalog … Dashboard
Resource
Details
Account
Backend APIs
(CF, MCCP, BSS, UAA, etc.)
DB/2
Cloud Console UI Server
(Java)
Cloud Console UI (Client)
Cloud Foundry
6. Problems with the Monolith
• Bad performance
• Heavy weight JavaScript loaded to browser was slow (used Dojo framework)
• Volume of client-initiated AJAX requests created bottlenecks
• Difficult to integrate code from other teams
• Have to push whole product even for small changes
• Poor Search Engine Optimization (SEO)
• New hires wanted nothing to do with Dojo
8. Solution: New Microservice Architecture
• Allows paced migration to more modern, lighter-weight stack without starting
over
• Improves performance with small services optimized for speed and page size
• Increases developer productivity with less chance of breaking other parts of
the product
• Loosely-coupled microservices can deploy at their own schedule
• Teams use stack of their choosing
• Teams don’t have to wait on others
• Improves cross-team UI consistency via microservice composition
• Leads to improved SEO
• Proxy facilitates “clean” URLs
• Server side generation results in crawlable content
9. Today’s Microservice Architecture
• Starting in 2015,
steadily
refactored to new
architecture over
next ~2 years
• Introduced proxy
to route requests
based on URL
path
• Core pipleline
now deploys 40+
microservices
• Expanded
beyond Cloud
Foundry
beginnings to
include other
PaaS and IaaS
offerings
Home Catalog …
Resource
Details
Dashboard
Watson and Cloud Platform APIs
(CF, Containers, BSS, RC, RG, IAM, GhoST, Hyperwarp, etc.)
Kubernetes
Proxy
Common
Monitoring
Framework
Console (Client)
Java API
Server
Redis
Cloudant
10. Typical UI Microservice Pattern
• Written with Node.js
• Serves lightweight HTML, CSS, JS
based on Carbon Design System
• When framework needed, React is the most
common choice
• Uses server-side templating (Dust.js) to
make as much data available to the
client as possible for fast rendering &
SEO
• Invokes Common Header API to get
HTML for shared header to include in
initial payload
• Consults shared session store (Redis)
for user token, etc.
• Leverages backend APIs and/or API
microservices as appropriate
Node.js (w/
Dust.js)
Cloud Console UI (Client)
Kubernetes
Proxy
Common
Header
• HTML
• CSS
• JavaScript (Vanilla, Polymer.js, React, Angular)
API
Microservice
Watson and Cloud Platform APIs
(CF, Containers, BSS, RC, RG, IAM, GhoST, Hyperwarp, etc.)
14. New Problems to Solve
• More moving parts, more complexity
• Build pipeline becomes all the more important
• Collecting federated status, monitoring health of the system
• Granularity of microservices vs. memory allocation (before move to
Kube)
• Monolith: 3 instances of Java app = 6 GB
• New console: ~27 apps, ~95 instances, ~55.5 GB
• Seamless navigation with existing monolith
• Blue-green deployments
• Promoting uniformity & consistency while still giving teams freedom
15. Importance of Monitoring
• We quickly learned that you can’t run a microservice-based system without monitoring
• Lots of things can go wrong
• Root cause determination can be difficult
• Examples of needed metrics:
• Data for every inbound/outbound request for every microservice
• Response time
• Response code
• Memory usage, CPU usage, and uptime for every microservice
• General health of ourselves and dependencies
• Synthetic page load data with Sitespeed.io
17. Geo Load Balancing and Failover for HA
• One global URL (console.bluemix.net)
went live in Summer 2017
• Use Dyn geo load balancing to serve
UI from the nearest healthy region
• If healthcheck in a region shows a
problem, Dyn routes to the next
closest healthy region
• Odds of all regions being down at the
same time much less than one region
being down
• Outages, PagerDuty’s, etc. decreased
dramatically after going live
18. Geo Load Balancing Impact to Microservices
• Microservices
should not be tied
to specific region
• E.g., Dallas
microservice ought
to be able to work
with API &
resources in
London
19. Runtime Environment: Moving to Kubernetes
• Originally the console was deployed to several Cloud Foundry public regions
• Migrated to Kubernetes clusters in early 2018, to gain advantages such as:
• More granular control to better manage our large, complex microservice system
• Dedicated clusters to avoid performance/availability problems from friendly fire
• Simpler “front door” stack with built-in Ingress proxy (NGINX) to avoid extra network hops
• Private host names
• All apps in CF have public host names, so not possible to have a “private” microservice
• Private networking
• Calls between microservices in CF require going out over the public internet
• Improved memory and CPU usage (dynamic allocation)
• Ability to run our own services (like Redis)
• Integrated monitoring with Prometheus
21. Conclusion
• Original monolithic app had many limitations given how we wanted to
grow the console ecosystem
• Nothing is free, and we had to solve several new problems along the
way as we migrated to a microservice architecture
• Allowed us to achieve greater performance, scalability, reliability, and
security than we had before
• Paved the way for continued architectural evolution